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

Rotate comparisons down to loop back-edges

* module/language/cps/rotate-loops.scm: New pass.
* module/Makefile.am:
* module/language/cps/optimize.scm: Wire up the new pass.
This commit is contained in:
Andy Wingo 2015-07-24 16:50:19 +02:00
parent bf6930b3f6
commit ee85e2969f
3 changed files with 220 additions and 0 deletions

View file

@ -32,6 +32,7 @@
#:use-module (language cps licm)
#:use-module (language cps prune-top-level-scopes)
#:use-module (language cps prune-bailouts)
#:use-module (language cps rotate-loops)
#:use-module (language cps self-references)
#:use-module (language cps simplify)
#:use-module (language cps specialize-primcalls)
@ -105,4 +106,5 @@
(define-optimizer optimize-first-order-cps
(eliminate-dead-code #:eliminate-dead-code? #t)
(rotate-loops #:rotate-loops? #t)
(simplify #:simplify? #t))