From 8b5163d6b3d7626bcc625741969cb5bd7724f829 Mon Sep 17 00:00:00 2001 From: ram <ram> Date: Sun, 14 Oct 1990 21:43:19 +0000 Subject: [PATCH] Fixed REOPTIMIZE-CONTINUATION to set BLOCK-TEST-MODIFIED if the continuation goes to an IF. --- compiler/ir1opt.lisp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/compiler/ir1opt.lisp b/compiler/ir1opt.lisp index f986e8096..df3a06de2 100644 --- a/compiler/ir1opt.lisp +++ b/compiler/ir1opt.lisp @@ -159,6 +159,8 @@ (when prev (let* ((block (continuation-block prev)) (component (block-component block))) + (when (typep dest 'cif) + (setf (block-test-modified block) t)) (setf (block-reoptimize block) t) (setf (component-reoptimize component) t)))))) (do-uses (node cont) @@ -689,13 +691,13 @@ (continuation-dest (node-cont node))) (constant-fold-call node) (return-from ir1-optimize-combination))) - + (let ((fun (function-info-derive-type kind))) (when fun (let ((res (funcall fun node))) (when res (derive-node-type node res))))) - + (let ((fun (function-info-optimizer kind))) (unless (and fun (funcall fun node)) (dolist (x (function-info-transforms kind)) -- GitLab