aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-sra.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2012-04-05 09:45:18 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2012-04-05 09:45:18 +0000
commit3d3f224949f46f992c30ef39036b6f0d20c2406d (patch)
tree82a4f09ff51f17c39f508dc9425bc833499b68fd /gcc/tree-sra.c
parentb5b3ec3e6ebe5b7a07654d94f53f97b0a8cca050 (diff)
downloadgcc-3d3f224949f46f992c30ef39036b6f0d20c2406d.zip
gcc-3d3f224949f46f992c30ef39036b6f0d20c2406d.tar.gz
gcc-3d3f224949f46f992c30ef39036b6f0d20c2406d.tar.bz2
tree-nrv.c (tree_nrv): Release VDEFs.
2012-04-05 Richard Guenther <rguenther@suse.de> * tree-nrv.c (tree_nrv): Release VDEFs. * tree-sra.c (sra_modify_constructor_assign): Likewise. (sra_modify_assign): Likewise. * tree-vect-stmts.c (vect_remove_stores): Likewise. * tree-vect-loop.c (vect_transform_loop): Likewise. * tree-ssa-dom.c (optimize_stmt): Likewise. * tree-vect-slp.c (vect_schedule_slp): Likewise. * tree-ssa-math-opts.c (execute_cse_sincos): Likewise. From-SVN: r186160
Diffstat (limited to 'gcc/tree-sra.c')
-rw-r--r--gcc/tree-sra.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c
index 84dc3be..c5f105a 100644
--- a/gcc/tree-sra.c
+++ b/gcc/tree-sra.c
@@ -2821,6 +2821,7 @@ sra_modify_constructor_assign (gimple *stmt, gimple_stmt_iterator *gsi)
{
unlink_stmt_vdef (*stmt);
gsi_remove (gsi, true);
+ release_defs (*stmt);
return SRA_AM_REMOVED;
}
else
@@ -2844,6 +2845,7 @@ sra_modify_constructor_assign (gimple *stmt, gimple_stmt_iterator *gsi)
init_subtree_with_zero (acc, gsi, false, loc);
unlink_stmt_vdef (*stmt);
gsi_remove (gsi, true);
+ release_defs (*stmt);
return SRA_AM_REMOVED;
}
else
@@ -3094,6 +3096,7 @@ sra_modify_assign (gimple *stmt, gimple_stmt_iterator *gsi)
gsi_next (gsi);
unlink_stmt_vdef (*stmt);
gsi_remove (&orig_gsi, true);
+ release_defs (*stmt);
sra_stats.deleted++;
return SRA_AM_REMOVED;
}
@@ -3114,6 +3117,7 @@ sra_modify_assign (gimple *stmt, gimple_stmt_iterator *gsi)
gcc_assert (*stmt == gsi_stmt (*gsi));
unlink_stmt_vdef (*stmt);
gsi_remove (gsi, true);
+ release_defs (*stmt);
sra_stats.deleted++;
return SRA_AM_REMOVED;
}