wingo pushed a commit to branch wip-optimize-return-values-checks in repository guile.
commit 79bff15750f7f4b63fc76191f750bf97e76f77eb Author: Andy Wingo <[email protected]> AuthorDate: Fri Nov 12 09:43:24 2021 +0100 Add -Ooptimize-known-return-types at -O2 * module/language/cps/optimize.scm (optimize-first-order-cps): * module/system/base/optimize.scm (available-optimizations): Add optimize-known-return-types at -O2. --- module/language/cps/optimize.scm | 2 ++ module/system/base/optimize.scm | 1 + 2 files changed, 3 insertions(+) diff --git a/module/language/cps/optimize.scm b/module/language/cps/optimize.scm index 1475224..6c48bc9 100644 --- a/module/language/cps/optimize.scm +++ b/module/language/cps/optimize.scm @@ -36,6 +36,7 @@ #:use-module (language cps reify-primitives) #:use-module (language cps renumber) #:use-module (language cps rotate-loops) + #:use-module (language cps return-types) #:use-module (language cps self-references) #:use-module (language cps simplify) #:use-module (language cps specialize-numbers) @@ -110,6 +111,7 @@ (specialize-primcalls #:specialize-primcalls?) (optimize-branch-chains #:optimize-branch-chains?) (eliminate-common-subexpressions #:cse?) + (optimize-known-return-types #:optimize-known-return-types?) (eliminate-dead-code #:eliminate-dead-code?) ;; Running simplify here enables rotate-loops to do a better job. (simplify #:simplify?) diff --git a/module/system/base/optimize.scm b/module/system/base/optimize.scm index 8da908d..a0eb6ed 100644 --- a/module/system/base/optimize.scm +++ b/module/system/base/optimize.scm @@ -48,6 +48,7 @@ (#:cse? 2) (#:type-fold? 2) (#:elide-arity-checks? 2) + (#:optimize-known-return-types? 2) (#:resolve-self-references? 2) (#:devirtualize-integers? 2) (#:specialize-numbers? 2)
