tree-ssa-dce.c (eliminate_unnecessary_stmts): Release LHS SSA name when we remove...
authorDaniel Berlin <dberlin@dberlin.org>
Mon, 28 May 2007 21:56:51 +0000 (21:56 +0000)
committerDaniel Berlin <dberlin@gcc.gnu.org>
Mon, 28 May 2007 21:56:51 +0000 (21:56 +0000)
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.

From-SVN: r125147

gcc/ChangeLog
gcc/tree-ssa-dce.c

index cadd0270e71cf2c80312c112e5a1b74191851b23..bcdd44b4fa96d117a79fc0fe93819a9e3723dc36 100644 (file)
@@ -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.
index 381a3429e0728fff474888ff3789af847c20c01c..a2f80aa308fcdd1e8030d983766c3625a439275b 100644 (file)
@@ -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);
                }