summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-ssa-dce.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cadd0270e71..bcdd44b4fa9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2007-05-28 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-ssa-dce.c (eliminate_unnecessary_stmts): Release LHS SSA
+ name when we remove it from a call.
+
2007-05-28 Kazu Hirata <kazu@codesourcery.com>
* targhooks.c (default_narrow_bitfield): Remove.
diff --git a/gcc/tree-ssa-dce.c b/gcc/tree-ssa-dce.c
index 381a3429e07..a2f80aa308f 100644
--- a/gcc/tree-ssa-dce.c
+++ b/gcc/tree-ssa-dce.c
@@ -702,6 +702,7 @@ eliminate_unnecessary_stmts (void)
== SSA_NAME)
&& !TEST_BIT (processed, SSA_NAME_VERSION (name)))
{
+ tree oldlhs = GIMPLE_STMT_OPERAND (t, 0);
something_changed = true;
if (dump_file && (dump_flags & TDF_DETAILS))
{
@@ -715,6 +716,7 @@ eliminate_unnecessary_stmts (void)
maybe_clean_or_replace_eh_stmt (t, call);
mark_symbols_for_renaming (call);
pop_stmt_changes (bsi_stmt_ptr (i));
+ release_ssa_name (oldlhs);
}
notice_special_calls (call);
}
OpenPOWER on IntegriCloud