diff --git a/compiler/pack.lisp b/compiler/pack.lisp index 06dec8359531de30c260b6e9d15ea2f2a03c8add..e50e6e8f36cb7721be8ed8064f0cb49ede6b2858 100644 --- a/compiler/pack.lisp +++ b/compiler/pack.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/pack.lisp,v 1.41 1991/09/26 17:50:58 ram Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/pack.lisp,v 1.42 1991/09/28 12:38:00 ram Exp $") ;;; ;;; ********************************************************************** ;;; @@ -1132,13 +1132,14 @@ (is-op (ops) (do ((ops ops (tn-ref-across ops))) ((null ops) nil) - (when (and (same ops) - (not (eq ops op))) - (return (tn-ref-tn ops))))) + (let ((found (same ops))) + (when (and found (not (eq ops op))) + (return found))))) (is-ref (refs end) (do ((refs refs (tn-ref-next-ref refs))) ((eq refs end) nil) - (when (same refs) (return (tn-ref-tn refs)))))) + (let ((found (same refs))) + (when found (return found)))))) (declare (inline is-op is-ref tn-overlaps)) (if (tn-ref-write-p op) (or (is-op (vop-results vop))