mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-24 12:20:20 +02:00
Add new pass to specialize "add" into "fadd" where possible
* module/language/cps/specialize-numbers.scm: New pass, to turn "add" into "fadd", and similarly for sub, mul, and div. * module/language/cps/optimize.scm: * module/Makefile.am: * bootstrap/Makefile.am: Wire up the new pass.
This commit is contained in:
parent
3b4941f3a9
commit
12e9e2148e
4 changed files with 96 additions and 0 deletions
|
@ -37,6 +37,7 @@
|
|||
#:use-module (language cps self-references)
|
||||
#:use-module (language cps simplify)
|
||||
#:use-module (language cps specialize-primcalls)
|
||||
#:use-module (language cps specialize-numbers)
|
||||
#:use-module (language cps type-fold)
|
||||
#:use-module (language cps verify)
|
||||
#:export (optimize-higher-order-cps
|
||||
|
@ -104,6 +105,7 @@
|
|||
(simplify #:simplify? #t))
|
||||
|
||||
(define-optimizer optimize-first-order-cps
|
||||
(specialize-numbers #:specialize-numbers? #t)
|
||||
(hoist-loop-invariant-code #:licm? #t)
|
||||
(eliminate-common-subexpressions #:cse? #t)
|
||||
(eliminate-dead-code #:eliminate-dead-code? #t)
|
||||
|
@ -123,5 +125,6 @@
|
|||
#:cse? #t
|
||||
#:type-fold? #t
|
||||
#:resolve-self-references? #t
|
||||
#:specialize-numbers? #t
|
||||
#:licm? #t
|
||||
#:rotate-loops? #t))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue