- (let ((prev nil))
- (do ((tn (funcall getter 2comp) (tn-next tn)))
- ((null tn))
- (cond
- ((or (used-p tn)
- (and (eq (tn-kind tn) :specified-save)
- (used-p (tn-save-tn tn))))
- (setq prev tn))
- (t
- (delete-1 tn prev setter))))))
- (used-p (tn)
- (or (tn-reads tn) (tn-writes tn)
- (member (tn-kind tn) '(:component :environment))
- (not (zerop (sbit aliases (tn-number tn))))))
- (delete-1 (tn prev setter)
- (if prev
- (setf (tn-next prev) (tn-next tn))
- (funcall setter (tn-next tn) 2comp))
- (setf (tn-offset tn) nil)
- (case (tn-kind tn)
- (:environment
- (clear-live tn
- #'ir2-physenv-live-tns
- #'set-ir2-physenv-live-tns))
- (:debug-environment
- (clear-live tn
- #'ir2-physenv-debug-live-tns
- #'set-ir2-physenv-debug-live-tns))))
- (clear-live (tn getter setter)
- (let ((env (physenv-info (tn-physenv tn))))
- (funcall setter (delete tn (funcall getter env)) env))))
+ (let ((prev nil))
+ (do ((tn (funcall getter 2comp) (tn-next tn)))
+ ((null tn))
+ (cond
+ ((or (used-p tn)
+ (and (eq (tn-kind tn) :specified-save)
+ (used-p (tn-save-tn tn))))
+ (setq prev tn))
+ (t
+ (delete-1 tn prev setter))))))
+ (used-p (tn)
+ (or (tn-reads tn) (tn-writes tn)
+ (member (tn-kind tn) '(:component :environment))
+ (not (zerop (sbit aliases (tn-number tn))))))
+ (delete-1 (tn prev setter)
+ (if prev
+ (setf (tn-next prev) (tn-next tn))
+ (funcall setter (tn-next tn) 2comp))
+ (setf (tn-offset tn) nil)
+ (case (tn-kind tn)
+ (:environment
+ (clear-live tn
+ #'ir2-physenv-live-tns
+ #'set-ir2-physenv-live-tns))
+ (:debug-environment
+ (clear-live tn
+ #'ir2-physenv-debug-live-tns
+ #'set-ir2-physenv-debug-live-tns))))
+ (clear-live (tn getter setter)
+ (let ((env (physenv-info (tn-physenv tn))))
+ (funcall setter (delete tn (funcall getter env)) env))))