aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/gimple-match-head.c6
2 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9b17925..3bd4139 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,13 @@
2016-09-22 Richard Biener <rguenther@suse.de>
+ PR middle-end/77677
+ * gimple-match-head.c (gimple_resimplify1): Drop TREE_OVERFLOW
+ from constant folding results.
+ (gimple_resimplify2): Likewise.
+ (gimple_resimplify3): Likewise.
+
+2016-09-22 Richard Biener <rguenther@suse.de>
+
PR middle-end/77678
* expr.c (expand_expr_real_1): Guard array access against negative
offset.
diff --git a/gcc/gimple-match-head.c b/gcc/gimple-match-head.c
index 2beadbc..4eab90d 100644
--- a/gcc/gimple-match-head.c
+++ b/gcc/gimple-match-head.c
@@ -89,6 +89,8 @@ gimple_resimplify1 (gimple_seq *seq,
if (tem != NULL_TREE
&& CONSTANT_CLASS_P (tem))
{
+ if (TREE_OVERFLOW_P (tem))
+ tem = drop_tree_overflow (tem);
res_ops[0] = tem;
res_ops[1] = NULL_TREE;
res_ops[2] = NULL_TREE;
@@ -134,6 +136,8 @@ gimple_resimplify2 (gimple_seq *seq,
if (tem != NULL_TREE
&& CONSTANT_CLASS_P (tem))
{
+ if (TREE_OVERFLOW_P (tem))
+ tem = drop_tree_overflow (tem);
res_ops[0] = tem;
res_ops[1] = NULL_TREE;
res_ops[2] = NULL_TREE;
@@ -194,6 +198,8 @@ gimple_resimplify3 (gimple_seq *seq,
if (tem != NULL_TREE
&& CONSTANT_CLASS_P (tem))
{
+ if (TREE_OVERFLOW_P (tem))
+ tem = drop_tree_overflow (tem);
res_ops[0] = tem;
res_ops[1] = NULL_TREE;
res_ops[2] = NULL_TREE;