From 79cde357b1e6d19a2e5032044f1e6b2baae2e185 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Sat, 29 Apr 2017 11:02:58 +0000 Subject: [PATCH] Experimental change --- scheme/cyclone/cps-optimizations.sld | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/scheme/cyclone/cps-optimizations.sld b/scheme/cyclone/cps-optimizations.sld index e34ce7cc..a629ef5c 100644 --- a/scheme/cyclone/cps-optimizations.sld +++ b/scheme/cyclone/cps-optimizations.sld @@ -959,6 +959,17 @@ (analyze:find-inlinable-vars e args))) (cdr exp))) ;(reverse (cdr exp)))) +;; If primitive mutates its args, ignore if ivar is not mutated (??) +;((and (prim? (car exp)) +; (prim:mutates? (car exp)) +; (> (length exp) 1)) +; (analyze:find-inlinable-vars (cadr exp) args) +; ;; First param is always mutated +; (for-each +; (lambda (e) +; (if (not (ref? e)) +; (analyze:find-inlinable-vars e args))) +; (cddr exp))) ((and (not (prim? (car exp))) (ref? (car exp))) (define ref-formals '())