diff --git a/cyclone.scm b/cyclone.scm index fa12ddd5..9af66e21 100644 --- a/cyclone.scm +++ b/cyclone.scm @@ -216,6 +216,15 @@ (trace:info "---------------- after alpha conversion:") (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 (define inlinable-scheme-fncs '()) (let ((lib-init-fnc (lib:name->symbol lib-name))) ;; safe to ignore for programs @@ -235,15 +244,6 @@ input-program)) (trace:info "---------------- results of inlinable-top-level-function analysis: ") (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 (lambda (expr)