diff options
author | Richard Biener <rguenther@suse.de> | 2016-09-22 12:16:12 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2016-09-22 12:16:12 +0000 |
commit | 1f3131cb1e238fa37d0fedb8d5b05761c3dbfef6 (patch) | |
tree | a57762f2ed297637797b940665e9b3ccc4bac633 /gcc | |
parent | c813f2686aa230cf20ca954dee94b1019b7c364b (diff) | |
download | gcc-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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/gimple-match-head.c | 6 |
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; |