aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-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)