diff options
Diffstat (limited to 'module/language/tree-il/optimize.scm')
-rw-r--r-- | module/language/tree-il/optimize.scm | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/module/language/tree-il/optimize.scm b/module/language/tree-il/optimize.scm index ac16a9e39..9820f9417 100644 --- a/module/language/tree-il/optimize.scm +++ b/module/language/tree-il/optimize.scm @@ -21,21 +21,14 @@ (define-module (language tree-il optimize) #:use-module (language tree-il) #:use-module (language tree-il primitives) + #:use-module (language tree-il inline) #:export (optimize!)) (define (env-module e) (if e (car e) (current-module))) (define (optimize! x env opts) - (expand-primitives! (resolve-primitives! x (env-module env)))) - -;; Possible optimizations: -;; * constant folding, propagation -;; * procedure inlining -;; * always when single call site -;; * always for "trivial" procs -;; * otherwise who knows -;; * dead code elimination -;; * degenerate case optimizations -;; * "fixing letrec" + (inline! + (expand-primitives! + (resolve-primitives! x (env-module env))))) |