anchor.diff:                               ;; Scan the instruction's outputs to catch this.
                                (remove-if-not (lambda (x) (typep x 'virtual-register))
                                               (instruction-outputs inst)))))
  +           (unless *shut-up*
  +             (format t "~D:" i)
  +             (print-instruction inst)
  +             (format t "Vregs: ~:S~%" vregs))
              (dolist (vreg vregs)
                (setf (gethash vreg vreg-liveness-start) (min i (gethash vreg vreg-liveness-start most-positive-fixnum)))
                (setf (gethash vreg vreg-liveness-end) (max i (gethash vreg vreg-liveness-end 0)))
  
positive.code:                         (push (gethash (live-range-vreg spill) registers) free-registers)))
                       (t
                        (setf (gethash (cons inst vreg) instantaneous-registers) (pop available-regs))))
                 #+(or)
                 (format t "Pick ~S for ~S~%" (gethash (cons inst vreg) instantaneous-registers) vreg)))))
      (values registers spilled instantaneous-registers)))
  
  (defgeneric replace-all-registers (instruction substitution-function))
  
negative.code:                                                     (member (gethash (live-range-vreg spill-interval) registers)
                                                              (live-range-conflicts i)))
                                                    active)))))
                 (unless *shut-up*
                   (format t "active ~S~%" active)
                   (format t "Spill ~S ~S~%" spill (if spill (gethash (live-range-vreg spill) registers) nil)))
                 (cond ((and spill
                             (> (live-range-end spill) (live-range-end i)))
                        (setf (gethash (live-range-vreg i) registers) (gethash (live-range-vreg spill) registers))
  