aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2010-05-28 16:06:40 -0600
committerJeff Law <law@gcc.gnu.org>2010-05-28 16:06:40 -0600
commitbdf0eb066733a11e3d1aa6fc34d3c8724b743247 (patch)
treea19750c03ac87f9c7f1dd94e2b51a0ad4bf0ea57
parent080aebdb54d352fd622beee50d2f9ffeef1bc2fa (diff)
downloadgcc-bdf0eb066733a11e3d1aa6fc34d3c8724b743247.zip
gcc-bdf0eb066733a11e3d1aa6fc34d3c8724b743247.tar.gz
gcc-bdf0eb066733a11e3d1aa6fc34d3c8724b743247.tar.bz2
ira-color.c (update_curr_costs): Free updated hard reg costs.
* ira-color.c (update_curr_costs): Free updated hard reg costs. (ira_reassign_conflict_allocnos): Remove bogus asserts. (allocno_reload_assign): Likewise. From-SVN: r160000
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/ira-color.c5
2 files changed, 7 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fcd3709..3027edb 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2010-05-28 Jeff Law <law@redhat.com>
+
+ * ira-color.c (update_curr_costs): Free updated hard reg costs.
+ (ira_reassign_conflict_allocnos): Remove bogus asserts.
+ (allocno_reload_assign): Likewise.
+
2010-05-28 Nathan Froyd <froydnj@codesourcery.com>
* tree-vect-stmts.c (vectorizable_assignment): Call build1 instead of
diff --git a/gcc/ira-color.c b/gcc/ira-color.c
index 448fae3..b46801c 100644
--- a/gcc/ira-color.c
+++ b/gcc/ira-color.c
@@ -2231,6 +2231,7 @@ update_curr_costs (ira_allocno_t a)
ira_allocno_t another_a;
ira_copy_t cp, next_cp;
+ ira_free_allocno_updated_costs (a);
ira_assert (! ALLOCNO_ASSIGNED_P (a));
cover_class = ALLOCNO_COVER_CLASS (a);
if (cover_class == NO_REGS)
@@ -2332,8 +2333,6 @@ ira_reassign_conflict_allocnos (int start_regno)
{
a = sorted_allocnos[i];
ALLOCNO_ASSIGNED_P (a) = false;
- ira_assert (ALLOCNO_UPDATED_HARD_REG_COSTS (a) == NULL);
- ira_assert (ALLOCNO_UPDATED_CONFLICT_HARD_REG_COSTS (a) == NULL);
update_curr_costs (a);
}
for (i = 0; i < allocnos_to_color_num; i++)
@@ -2799,8 +2798,6 @@ allocno_reload_assign (ira_allocno_t a, HARD_REG_SET forbidden_regs)
if (! flag_caller_saves && ALLOCNO_CALLS_CROSSED_NUM (a) != 0)
IOR_HARD_REG_SET (ALLOCNO_TOTAL_CONFLICT_HARD_REGS (a), call_used_reg_set);
ALLOCNO_ASSIGNED_P (a) = false;
- ira_assert (ALLOCNO_UPDATED_HARD_REG_COSTS (a) == NULL);
- ira_assert (ALLOCNO_UPDATED_CONFLICT_HARD_REG_COSTS (a) == NULL);
cover_class = ALLOCNO_COVER_CLASS (a);
update_curr_costs (a);
assign_hard_reg (a, true);