aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2016-09-22 12:16:12 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2016-09-22 12:16:12 +0000
commit1f3131cb1e238fa37d0fedb8d5b05761c3dbfef6 (patch)
treea57762f2ed297637797b940665e9b3ccc4bac633
parentc813f2686aa230cf20ca954dee94b1019b7c364b (diff)
downloadgcc-1f3131cb1e238fa37d0fedb8d5b05761c3dbfef6.zip
gcc-1f3131cb1e238fa37d0fedb8d5b05761c3dbfef6.tar.gz
gcc-1f3131cb1e238fa37d0fedb8d5b05761c3dbfef6.tar.bz2
re PR tree-optimization/77677 (ICE at -O1 and above in both 32-bit and 64-bit modes on x86_64-linux-gnu (internal compiler error: in set_value_range, at tree-vrp.c:361))
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. From-SVN: r240352
-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;