From d3298dd1e00f877e8a90c096fb940a178ad3cca6 Mon Sep 17 00:00:00 2001
From: ram <ram>
Date: Tue, 31 Aug 1993 22:52:26 +0000
Subject: [PATCH] In PROPAGATE-LOCAL-CALL-ARGS, be prepared the possibility
 that other refs to the function have no dest (and are going to be deleted.)

---
 compiler/ir1opt.lisp | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/compiler/ir1opt.lisp b/compiler/ir1opt.lisp
index ea0cd752b..e76935150 100644
--- a/compiler/ir1opt.lisp
+++ b/compiler/ir1opt.lisp
@@ -7,7 +7,7 @@
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ir1opt.lisp,v 1.62 1993/08/19 23:12:09 wlott Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ir1opt.lisp,v 1.63 1993/08/31 22:52:26 ram Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -1388,15 +1388,15 @@
 	  (setf (continuation-reoptimize arg) nil)))
       
       (dolist (ref (leaf-refs fun))
-	(unless (eq ref this-ref)
-	  (setq union
-		(mapcar #'(lambda (this-arg old)
-			    (when old
-			      (setf (continuation-reoptimize this-arg) nil)
-			      (type-union (continuation-type this-arg) old)))
-			(basic-combination-args
-			 (continuation-dest (node-cont ref)))
-			union))))
+	(let ((dest (continuation-dest (node-cont ref))))
+	  (unless (or (eq ref this-ref) (not dest))
+	    (setq union
+		  (mapcar #'(lambda (this-arg old)
+			      (when old
+				(setf (continuation-reoptimize this-arg) nil)
+				(type-union (continuation-type this-arg) old)))
+			  (basic-combination-args dest)
+			  union)))))
       
       (mapc #'(lambda (var type)
 		(when type
-- 
GitLab