diff options
author | Jeff Law <law@gcc.gnu.org> | 1998-12-07 15:38:24 -0700 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-12-07 15:38:24 -0700 |
commit | 996e968353f5b91cf8b7487998783ccba61de0d8 (patch) | |
tree | 67ea70a71f5deccf9a008f1f761972d95862648a | |
parent | 70d5ccef064325bcab1d3fbc57a6fef9aee2a096 (diff) | |
download | gcc-996e968353f5b91cf8b7487998783ccba61de0d8.tar.gz |
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
-rw-r--r-- | gcc/local-alloc.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/local-alloc.c b/gcc/local-alloc.c index f112713b284..f7d12d2e1e0 100644 --- a/gcc/local-alloc.c +++ b/gcc/local-alloc.c @@ -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) |