aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2011-03-31 01:04:43 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2011-03-31 01:04:43 +0000
commitbddc98e135ce6dfa9f123c7801afc951fe9d6347 (patch)
treed0ebdc032b497ab7693d14e9cddb6b85dabf4828 /gcc
parent23b03b777b23d3e58074f39a3dee562481a57edf (diff)
downloadgcc-bddc98e135ce6dfa9f123c7801afc951fe9d6347.zip
gcc-bddc98e135ce6dfa9f123c7801afc951fe9d6347.tar.gz
gcc-bddc98e135ce6dfa9f123c7801afc951fe9d6347.tar.bz2
re PR middle-end/48367 (200.sixtrack/301.apsi in SPEC CPU 2000 are miscompiled)
2011-03-30 Vladimir Makarov <vmakarov@redhat.com> PR middle-end/48367 * ira-costs.c (find_costs_and_classes): Fix a typo in i_mem_cost calculation. From-SVN: r171767
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/ira-costs.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 68d3a89..d5fceb8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2011-03-30 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR middle-end/48367
+ * ira-costs.c (find_costs_and_classes): Fix a typo in i_mem_cost
+ calculation.
+
2011-03-30 Jeff Law <law@redhat.com>
* PR bootstrap/48371
diff --git a/gcc/ira-costs.c b/gcc/ira-costs.c
index 4a3083a..dd3123c 100644
--- a/gcc/ira-costs.c
+++ b/gcc/ira-costs.c
@@ -1652,7 +1652,7 @@ find_costs_and_classes (FILE *dump_file)
i_costs[k] += add_cost;
}
add_cost = COSTS (costs, a_num)->mem_cost;
- if (add_cost && INT_MAX - add_cost < i_mem_cost)
+ if (add_cost > 0 && INT_MAX - add_cost < i_mem_cost)
i_mem_cost = INT_MAX;
else
i_mem_cost += add_cost;
@@ -1887,7 +1887,7 @@ process_bb_node_for_hard_reg_moves (ira_loop_tree_node_t loop_tree_node)
ALLOCNO_HARD_REG_COSTS (a)[i] -= cost;
ALLOCNO_CONFLICT_HARD_REG_COSTS (a)[i] -= cost;
ALLOCNO_CLASS_COST (a) = MIN (ALLOCNO_CLASS_COST (a),
- ALLOCNO_HARD_REG_COSTS (a)[i]);
+ ALLOCNO_HARD_REG_COSTS (a)[i]);
}
}