aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2015-11-26 13:45:45 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2015-11-26 13:45:45 +0000
commit6be52f624ea94a0a799abd57ca761949ac05123d (patch)
tree3960963f60c2238c074e0730aba749abb0f6bad2 /gcc
parent3e0fb1a3e3c4bedf0adfee1ee5f1de0345f2a7f8 (diff)
downloadgcc-6be52f624ea94a0a799abd57ca761949ac05123d.zip
gcc-6be52f624ea94a0a799abd57ca761949ac05123d.tar.gz
gcc-6be52f624ea94a0a799abd57ca761949ac05123d.tar.bz2
genmatch.c (dt_simplify::gen_1): For generic wrap all multi-result-use captures in a SAVE_EXPR.
2015-11-26 Richard Biener <rguenther@suse.de> * genmatch.c (dt_simplify::gen_1): For generic wrap all multi-result-use captures in a SAVE_EXPR. From-SVN: r230955
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/genmatch.c14
2 files changed, 9 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f81ce79..62c2fd4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2015-11-26 Richard Biener <rguenther@suse.de>
+
+ * genmatch.c (dt_simplify::gen_1): For generic wrap all
+ multi-result-use captures in a SAVE_EXPR.
+
2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
* config/aarch64/aarch64.h (AARCH64_ISA_RDMA): New.
diff --git a/gcc/genmatch.c b/gcc/genmatch.c
index 76c8f1f..67d1c66 100644
--- a/gcc/genmatch.c
+++ b/gcc/genmatch.c
@@ -3112,16 +3112,10 @@ dt_simplify::gen_1 (FILE *f, int indent, bool gimple, operand *result)
{
if (cinfo.info[i].same_as != (unsigned)i)
continue;
- if (!cinfo.info[i].force_no_side_effects_p
- && cinfo.info[i].result_use_count > 1)
- {
- fprintf_indent (f, indent,
- "if (TREE_SIDE_EFFECTS (captures[%d]))\n",
- i);
- fprintf_indent (f, indent,
- " captures[%d] = save_expr (captures[%d]);\n",
- i, i);
- }
+ if (cinfo.info[i].result_use_count > 1)
+ fprintf_indent (f, indent,
+ "captures[%d] = save_expr (captures[%d]);\n",
+ i, i);
}
for (unsigned j = 0; j < e->ops.length (); ++j)
{