mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-18 01:30:27 +02:00
Port CSE to CPS2
* module/language/cps2/cse.scm: New file, ported from CPS. * module/language/cps2/optimize.scm: Wire up CSE. * module/Makefile.am: Add language/cps2/cse.scm. * module/language/cps/compile-bytecode.scm (optimize): Disable prune-top-level-scopes on old CPS. It seems to not work if CSE has run beforehand.
This commit is contained in:
parent
ea5187ad86
commit
c3bc1f8e93
4 changed files with 456 additions and 2 deletions
|
@ -78,7 +78,10 @@
|
|||
;; analysis on the box created for the set!.
|
||||
|
||||
(run-pass! eliminate-dead-code #:eliminate-dead-code? #t)
|
||||
(run-pass! prune-top-level-scopes #:prune-top-level-scopes? #t)
|
||||
;; The prune-top-level-scopes pass doesn't work if CSE has run
|
||||
;; beforehand. Since hopefully we will be able to just remove all the
|
||||
;; old CPS stuff, let's just disable the pass for now.
|
||||
;; (run-pass! prune-top-level-scopes #:prune-top-level-scopes? #t)
|
||||
(run-pass! simplify #:simplify? #t)
|
||||
(run-pass! contify #:contify? #t)
|
||||
(run-pass! inline-constructors #:inline-constructors? #t)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue