Commit 996e9683 by Jeff Law

local-alloc.c (block_alloc): Slightly retune heuristic to widen qty lifetimes.

        * 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
parent 70d5ccef
...@@ -1414,8 +1414,8 @@ block_alloc (b) ...@@ -1414,8 +1414,8 @@ block_alloc (b)
discourage the register allocator from creating false discourage the register allocator from creating false
dependencies. dependencies.
The adjustment by the value +-3 indicates precisely that The adjustment value is choosen to indicate that this qty
this qty conflicts with qtys in the instructions immediately conflicts with all the qtys in the instructions immediately
before and after the lifetime of this qty. before and after the lifetime of this qty.
Experiments have shown that higher values tend to hurt Experiments have shown that higher values tend to hurt
...@@ -1423,8 +1423,9 @@ block_alloc (b) ...@@ -1423,8 +1423,9 @@ block_alloc (b)
If allocation using the extended lifetime fails we will try If allocation using the extended lifetime fails we will try
again with the qty's unadjusted lifetime. */ again with the qty's unadjusted lifetime. */
int fake_birth = MAX (0, qty_birth[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] + 3); int fake_death = MIN (insn_number * 2 + 1,
qty_death[q] + 2 - qty_death[q] % 2);
#endif #endif
if (N_REG_CLASSES > 1) if (N_REG_CLASSES > 1)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment