1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-31 17:30:24 +02:00
guile/module/language/tree-il
Andy Wingo 828ed94469 Replace all let-gensyms uses with let-fresh
* .dir-locals.el: Add with-fresh-name-state.
* module/language/cps.scm (fresh-label, fresh-var): Signal an error if
  the counters are not initialized.
  (with-fresh-name-state): New macro.
  (make-cont-folder): New macro, generates an n-ary folder.
  (compute-max-label-and-var): New function, uses make-cont-folder.
  (fold-conts): Use make-cont-folder.
  (let-gensyms): Remove.

* module/language/cps/arities.scm:
* module/language/cps/closure-conversion.scm:
* module/language/cps/constructors.scm:
* module/language/cps/dce.scm:
* module/language/cps/elide-values.scm:
* module/language/cps/reify-primitives.scm:
* module/language/cps/specialize-primcalls.scm: Use let-fresh instead of
  let-gensyms, and wrap in a with-fresh-name-state as needed.

* module/language/tree-il/compile-cps.scm: Remove hack to avoid
  importing let-gensyms from (language tree-il).
2014-03-31 18:20:55 +02:00
..
analyze.scm rtl-program? -> program? 2013-11-19 19:11:40 +01:00
canonicalize.scm Inline escape-only prompt bodies in the Tree-IL 2013-08-11 16:45:31 +02:00
compile-cps.scm Replace all let-gensyms uses with let-fresh 2014-03-31 18:20:55 +02:00
cse.scm Inline escape-only prompt bodies in the Tree-IL 2013-08-11 16:45:31 +02:00
debug.scm <prompt> body and handler are lambdas; add escape-only? field 2013-07-06 20:27:21 +09:00
effects.scm Effects analysis distinguishes between struct fields 2013-11-10 12:05:35 +01:00
fix-letrec.scm Tree-il post-order rewriter no longer destructive 2013-06-10 22:46:08 +02:00
inline.scm separate peval and a new canonicalization pass into their own modules 2011-09-28 19:39:39 +02:00
optimize.scm Pre-order tree-il rewrites are now non-destructive 2013-06-10 22:46:08 +02:00
peval.scm Don't peval-penalize let-bound lambdas only referenced once 2014-02-17 22:23:40 +01:00
primitives.scm bytevector-length is an interesting primitive. 2014-02-13 17:51:20 +01:00
spec.scm Remove tree-il->glil compiler 2013-11-08 14:57:43 +01:00