Tree-il post-order rewriter no longer destructive
authorAndy Wingo <wingo@pobox.com>
Tue, 28 May 2013 14:56:05 +0000 (10:56 -0400)
committerAndy Wingo <wingo@pobox.com>
Mon, 10 Jun 2013 20:46:08 +0000 (22:46 +0200)
commit403d78f915552a6eaaf2ecd7a93b2a7dc2983585
tree515ac3b9d08d70437256c22be56e978c3ebe4258
parent64fc50c294df9b6644fd40bec90eb8f4dfbc3907
Tree-il post-order rewriter no longer destructive

* module/language/tree-il.scm (pre-post-order): New helper, like
  pre-order! and post-order! but not destructive.
  (post-order): Implement in terms of pre-post-order, and rename from
  post-order!.

* module/ice-9/compile-psyntax.scm (squeeze-tree-il):
* module/language/tree-il/canonicalize.scm (canonicalize):
* module/language/tree-il/fix-letrec.scm (fix-letrec):
* module/language/tree-il/primitives.scm (resolve-primitives): Use
  post-order, and rename from the destructive
  variants (squeeze-tree-il!, canonicalize!, etc).  Adapt callers.

* test-suite/tests/tree-il.test (strip-source): Adapt to post-order.

* test-suite/tests/cse.test:
* test-suite/tests/peval.test:
* module/language/tree-il/optimize.scm: Adapt callers.
module/ice-9/compile-psyntax.scm
module/language/tree-il.scm
module/language/tree-il/canonicalize.scm
module/language/tree-il/compile-glil.scm
module/language/tree-il/fix-letrec.scm
module/language/tree-il/optimize.scm
module/language/tree-il/primitives.scm
test-suite/tests/cse.test
test-suite/tests/peval.test
test-suite/tests/tree-il.test