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