local-alloc.c (block_alloc): Slightly retune heuristic to widen qty lifetimes.
authorJeff Law <law@gcc.gnu.org>
Mon, 7 Dec 1998 22:38:24 +0000 (15:38 -0700)
committerJeff Law <law@gcc.gnu.org>
Mon, 7 Dec 1998 22:38:24 +0000 (15:38 -0700)
        * local-alloc.c (block_alloc): Slightly retune heuristic to widen
        qty lifetimes.
Actually check in the local-alloc patch that goes along with this ChangeLog
entry...

From-SVN: r24171

gcc/local-alloc.c

index f112713b2841f3137078b31294dd7571a389b1a1..f7d12d2e1e085676ce5be1aeaaea85e9f262569a 100644 (file)
@@ -1414,8 +1414,8 @@ block_alloc (b)
             discourage the register allocator from creating false
             dependencies.
  
-            The adjustment by the value +-3 indicates precisely that
-            this qty conflicts with qtys in the instructions immediately
+            The adjustment value is choosen to indicate that this qty
+            conflicts with all the qtys in the instructions immediately
             before and after the lifetime of this qty.
 
             Experiments have shown that higher values tend to hurt
@@ -1423,8 +1423,9 @@ block_alloc (b)
 
             If allocation using the extended lifetime fails we will try
             again with the qty's unadjusted lifetime.  */
-         int fake_birth = MAX (0, qty_birth[q] - 3);
-         int fake_death = MIN (insn_number * 2 + 1, qty_death[q] + 3);
+         int fake_birth = MAX (0, qty_birth[q] - 2 + qty_birth[q] % 2);
+         int fake_death = MIN (insn_number * 2 + 1,
+                               qty_death[q] + 2 - qty_death[q] % 2);
 #endif
 
          if (N_REG_CLASSES > 1)