aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2007-01-08 14:13:09 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2007-01-08 13:13:09 +0000
commitfeb8476ac4b9534b99b222ff42ea40900fd7bfe3 (patch)
tree965f2c80a3659fa69f31c60546ba816d956b6cfe
parent31ab1cc9db34ff449b8a72a2e856b9f5edcab7fa (diff)
downloadgcc-feb8476ac4b9534b99b222ff42ea40900fd7bfe3.zip
gcc-feb8476ac4b9534b99b222ff42ea40900fd7bfe3.tar.gz
gcc-feb8476ac4b9534b99b222ff42ea40900fd7bfe3.tar.bz2
tree-ssa-forwprop.c (forward_propagate_into_cond, [...]): Release defs of propagated statement.
* tree-ssa-forwprop.c (forward_propagate_into_cond, tree_ssa_forward_propagate_single_use_va): Release defs of propagated statement. From-SVN: r120580
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-ssa-forwprop.c6
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9e9f510..58f9cd8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2007-01-08 Jan Hubicka <jh@suse.cz>
+
+ * tree-ssa-forwprop.c (forward_propagate_into_cond,
+ tree_ssa_forward_propagate_single_use_va): Release defs of propagated
+ statement.
+
2007-01-08 Richard Guenther <rguenther@suse.de>
PR tree-optimization/23603
diff --git a/gcc/tree-ssa-forwprop.c b/gcc/tree-ssa-forwprop.c
index 638224a..a5267ae 100644
--- a/gcc/tree-ssa-forwprop.c
+++ b/gcc/tree-ssa-forwprop.c
@@ -561,6 +561,7 @@ forward_propagate_into_cond (tree cond_expr)
tree def = SSA_NAME_DEF_STMT (test_var);
block_stmt_iterator bsi = bsi_for_stmt (def);
bsi_remove (&bsi, true);
+ release_defs (def);
}
}
@@ -999,7 +1000,10 @@ tree_ssa_forward_propagate_single_use_vars (void)
{
bool some = false;
if (forward_propagate_addr_expr (stmt, &some))
- bsi_remove (&bsi, true);
+ {
+ release_defs (stmt);
+ bsi_remove (&bsi, true);
+ }
else
bsi_next (&bsi);
if (some)