Fix bug: when merging register maps, if a pseudo register was saved
authorChris Hanson <org/chris-hanson/cph>
Sun, 25 Apr 2010 04:34:25 +0000 (21:34 -0700)
committerChris Hanson <org/chris-hanson/cph>
Sun, 25 Apr 2010 04:34:25 +0000 (21:34 -0700)
into its home on some of the maps, and not saved on the other maps,
then the resulting map would show that it was saved.  Instead, it
should show that it is NOT saved.  That's less optimal but correct.

src/compiler/back/mermap.scm

index 6cecf981cb443dfb74711e373ea6ef0cfc735dad..ac687fda1558c370645f6d1b5e50e46bfbac1929 100644 (file)
@@ -115,7 +115,7 @@ USA.
            (eqv? home (vector-ref entry 0))))))
     (lambda (x-entry y-entry)
       (vector (vector-ref x-entry 0)
-             (+ (vector-ref x-entry 1) (vector-ref y-entry 1))
+             (min (vector-ref x-entry 1) (vector-ref y-entry 1))
              (merge-entries (vector-ref x-entry 2) (vector-ref y-entry 2)
                (lambda (entry entries)
                  (assq (car entry) entries))