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