mirror of
https://github.com/justinethier/cyclone.git
synced 2025-07-04 19:56:34 +02:00
Check for inlinable functions after prim conv
At this point there are more opportunities for inlining.
This commit is contained in:
parent
24f9651232
commit
0dafd88ed3
1 changed files with 9 additions and 9 deletions
18
cyclone.scm
18
cyclone.scm
|
@ -216,6 +216,15 @@
|
||||||
(trace:info "---------------- after alpha conversion:")
|
(trace:info "---------------- after alpha conversion:")
|
||||||
(trace:info input-program) ;pretty-print
|
(trace:info input-program) ;pretty-print
|
||||||
|
|
||||||
|
;; Convert some function calls to primitives, if possible
|
||||||
|
(set! input-program
|
||||||
|
(map
|
||||||
|
(lambda (expr)
|
||||||
|
(prim-convert expr))
|
||||||
|
input-program))
|
||||||
|
(trace:info "---------------- after func->primitive conversion:")
|
||||||
|
(trace:info input-program) ;pretty-print
|
||||||
|
|
||||||
;; Identify native Scheme functions that can be inlined
|
;; Identify native Scheme functions that can be inlined
|
||||||
(define inlinable-scheme-fncs '())
|
(define inlinable-scheme-fncs '())
|
||||||
(let ((lib-init-fnc (lib:name->symbol lib-name))) ;; safe to ignore for programs
|
(let ((lib-init-fnc (lib:name->symbol lib-name))) ;; safe to ignore for programs
|
||||||
|
@ -236,15 +245,6 @@
|
||||||
(trace:info "---------------- results of inlinable-top-level-function analysis: ")
|
(trace:info "---------------- results of inlinable-top-level-function analysis: ")
|
||||||
(trace:info inlinable-scheme-fncs)
|
(trace:info inlinable-scheme-fncs)
|
||||||
|
|
||||||
;; Convert some function calls to primitives, if possible
|
|
||||||
(set! input-program
|
|
||||||
(map
|
|
||||||
(lambda (expr)
|
|
||||||
(prim-convert expr))
|
|
||||||
input-program))
|
|
||||||
(trace:info "---------------- after func->primitive conversion:")
|
|
||||||
(trace:info input-program) ;pretty-print
|
|
||||||
|
|
||||||
(let ((cps (map
|
(let ((cps (map
|
||||||
(lambda (expr)
|
(lambda (expr)
|
||||||
(cps-convert expr))
|
(cps-convert expr))
|
||||||
|
|
Loading…
Add table
Reference in a new issue