anchor.diff:             ;; Add new interference edges.
              (dolist (range live)
                (flet ((insert (vreg other)
  -                      (let ((interference (aref result vreg)))
  -                        (when (not interference)
  -                          (setf interference (make-vreg-set)
  -                                (aref result vreg) interference))
  -                        (insert-into-vreg-set interference other))))
  +                      (setf (svref result vreg) (insert-into-vreg-set (svref result vreg) other))))
                  (let ((other-vreg (live-range-vreg-id range)))
                    (when (and (not (eql other-vreg current-vreg))
  -                            (not (vreg-set-contains (aref result other-vreg) current-vreg)))
  +                            (not (vreg-set-contains (svref result other-vreg) current-vreg)))
                      (insert current-vreg other-vreg)
                      (insert other-vreg current-vreg)))))
              (push range live)))
  
positive.code:                (format t "   ~S~%" r))))
           (let ((current-range-start (live-range-start range))
                 (current-vreg (live-range-vreg-id range)))
             (insert-into-vreg-set spilled-vregs current-vreg)
             ;; Expire old ranges.
             (setf live (remove-if (lambda (x)
                                     (< (live-range-end x) current-range-start))
  
negative.code:         (mapcar #'add (ir:instruction-inputs inst))
          (mapcar #'add (ir:instruction-outputs inst))))
      (values vreg-to-id id-to-vreg)))
  
  (deftype vreg-id () 'fixnum)
  
  (defun make-linear-allocator (backend-function architecture &key ordering)
    (multiple-value-bind (basic-blocks bb-preds bb-succs)
  