diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-02-10 08:00:24 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-02-10 08:00:24 +0000 |
commit | 6f6c767ccfbaff75eb44beb7771df877dcd855bb (patch) | |
tree | 767977ecd796812aa67661af18ea9f29fcf760ee /gcc/tree-ssa-coalesce.c | |
parent | d011df4af27ce866ffa9e531d6d208c1482b2afc (diff) | |
download | gcc-6f6c767ccfbaff75eb44beb7771df877dcd855bb.tar.gz |
2009-02-10 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk r144050
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@144052 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-coalesce.c')
-rw-r--r-- | gcc/tree-ssa-coalesce.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/gcc/tree-ssa-coalesce.c b/gcc/tree-ssa-coalesce.c index 3af0c3285d8..8ac74f0c290 100644 --- a/gcc/tree-ssa-coalesce.c +++ b/gcc/tree-ssa-coalesce.c @@ -284,8 +284,7 @@ add_cost_one_coalesce (coalesce_list_p cl, int p1, int p2) /* Add a coalesce between P1 and P2 in list CL with a cost of VALUE. */ static inline void -add_coalesce (coalesce_list_p cl, int p1, int p2, - int value) +add_coalesce (coalesce_list_p cl, int p1, int p2, int value) { coalesce_pair_p node; @@ -295,13 +294,13 @@ add_coalesce (coalesce_list_p cl, int p1, int p2, node = find_coalesce_pair (cl, p1, p2, true); - /* Once the value is MUST_COALESCE_COST, leave it that way. */ - if (node->cost != MUST_COALESCE_COST) + /* Once the value is at least MUST_COALESCE_COST - 1, leave it that way. */ + if (node->cost < MUST_COALESCE_COST - 1) { - if (value == MUST_COALESCE_COST) - node->cost = value; - else + if (value < MUST_COALESCE_COST - 1) node->cost += value; + else + node->cost = value; } } |