1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-17 21:32:25 +02:00

New pass: inline-constructors

* module/Makefile.am:
* module/language/cps/constructors.scm (inline-constructors): New pass.

* module/language/cps/compile-rtl.scm (optimize): Call the new pass.

* module/language/tree-il/compile-cps.scm (convert): Don't handle "list"
  specially here.
This commit is contained in:
Andy Wingo 2013-10-26 21:07:27 +02:00
parent 4f406fea7e
commit fa3b6e57c2
4 changed files with 109 additions and 17 deletions

View file

@ -30,6 +30,7 @@
#:use-module (language cps arities)
#:use-module (language cps closure-conversion)
#:use-module (language cps contification)
#:use-module (language cps constructors)
#:use-module (language cps dfg)
#:use-module (language cps primitives)
#:use-module (language cps reify-primitives)
@ -52,7 +53,8 @@
exp))
;; Calls to source-to-source optimization passes go here.
(let* ((exp (run-pass exp contify #:contify? #t)))
(let* ((exp (run-pass exp contify #:contify? #t))
(exp (run-pass exp inline-constructors #:inline-constructors? #t)))
;; Passes that are needed:
;;
;; * Abort contification: turning abort primcalls into continuation