1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-15 08:10:17 +02:00

Add prune-top-level-scopes pass

* module/language/cps/prune-top-level-scopes.scm: New pass, to prune
  unneeded "cache-current-module!" forms.

* module/language/cps/compile-bytecode.scm:
* module/Makefile.am: Add the new pass to the build and enable by
  default.
This commit is contained in:
Andy Wingo 2014-02-13 09:30:39 +01:00
parent 9253198baf
commit dd692618b8
3 changed files with 116 additions and 0 deletions

View file

@ -35,6 +35,7 @@
#:use-module (language cps dfg)
#:use-module (language cps elide-values)
#:use-module (language cps primitives)
#:use-module (language cps prune-top-level-scopes)
#:use-module (language cps reify-primitives)
#:use-module (language cps simplify)
#:use-module (language cps slot-allocation)
@ -60,6 +61,7 @@
;; aren't used, and thus shouldn't be consed.
(let* ((exp (run-pass exp eliminate-dead-code #:eliminate-dead-code? #t))
(exp (run-pass exp prune-top-level-scopes #:prune-top-level-scopes? #t))
(exp (run-pass exp simplify #:simplify? #t))
(exp (run-pass exp contify #:contify? #t))
(exp (run-pass exp inline-constructors #:inline-constructors? #t))