From 8648e66ca6ad84f290189b8daeaf7cf6c2fe41c5 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Thu, 10 Jan 2019 13:36:05 -0500 Subject: [PATCH] Restrict contains-if check to "called-once" expansion --- scheme/cyclone/cps-optimizations.sld | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scheme/cyclone/cps-optimizations.sld b/scheme/cyclone/cps-optimizations.sld index 42674644..3d7168e3 100644 --- a/scheme/cyclone/cps-optimizations.sld +++ b/scheme/cyclone/cps-optimizations.sld @@ -1461,7 +1461,8 @@ ;; case we do not want to beta-expand as a contraction ;; because duplicate instances of the same code may be ;; introduced, causing problems downstream. - (not (contains-if? (ast:lambda-body fnc))) + (and called-once? + (not (contains-if? (ast:lambda-body fnc)))) )) ))) (else #f)))