diff options
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; |