aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2011-09-09 12:31:33 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2011-09-09 12:31:33 +0000
commit0aa1658649796e0ba3e097d0db7013b027b8d41c (patch)
treeb3fe1c648fef261496c2c8ff5b18ae17aa2b0f3b /gcc
parent59401b92b3a5ed70b653199c52cef6e8b0458ed5 (diff)
downloadgcc-0aa1658649796e0ba3e097d0db7013b027b8d41c.zip
gcc-0aa1658649796e0ba3e097d0db7013b027b8d41c.tar.gz
gcc-0aa1658649796e0ba3e097d0db7013b027b8d41c.tar.bz2
tree-ssa-pre.c (create_expression_by_pieces): Fold the last statement.
2011-09-09 Richard Guenther <rguenther@suse.de> * tree-ssa-pre.c (create_expression_by_pieces): Fold the last statement. From-SVN: r178727
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-ssa-pre.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8a7e54a..02b99c7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2011-09-09 Richard Guenther <rguenther@suse.de>
+ * tree-ssa-pre.c (create_expression_by_pieces): Fold the
+ last statement.
+
+2011-09-09 Richard Guenther <rguenther@suse.de>
+
* gimple.h (fold_stmt_inplace): Adjust to take a gimple_stmt_iterator
instead of a statement.
* gimple-fold.c (fold_stmt_inplace): Likewise.
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c
index f69aec0..bee6ef5 100644
--- a/gcc/tree-ssa-pre.c
+++ b/gcc/tree-ssa-pre.c
@@ -3182,6 +3182,10 @@ create_expression_by_pieces (basic_block block, pre_expr expr,
/* All the symbols in NEWEXPR should be put into SSA form. */
mark_symbols_for_renaming (newstmt);
+ /* Fold the last statement. */
+ gsi = gsi_last (*stmts);
+ fold_stmt_inplace (&gsi);
+
/* Add a value number to the temporary.
The value may already exist in either NEW_SETS, or AVAIL_OUT, because
we are creating the expression by pieces, and this particular piece of