summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-dce.c
diff options
context:
space:
mode:
authordberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>2007-05-28 21:56:51 +0000
committerdberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>2007-05-28 21:56:51 +0000
commite4c991ae1479914e6944cbd304f1c4e508f26ce3 (patch)
tree70c21dc170fdd53fc573cb3528d98da82367df4f /gcc/tree-ssa-dce.c
parent93fa56e7061afea8004519d75d02b1cf3f7069d1 (diff)
downloadgcc-e4c991ae1479914e6944cbd304f1c4e508f26ce3.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125147 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-dce.c')
-rw-r--r--gcc/tree-ssa-dce.c2
1 files changed, 2 insertions, 0 deletions
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);
}