From 1f3131cb1e238fa37d0fedb8d5b05761c3dbfef6 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Thu, 22 Sep 2016 12:16:12 +0000 Subject: [PATCH] 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 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 --- gcc/ChangeLog | 8 ++++++++ gcc/gimple-match-head.c | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9b1792596fc..3bd4139b3b5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2016-09-22 Richard Biener + + 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 PR middle-end/77678 diff --git a/gcc/gimple-match-head.c b/gcc/gimple-match-head.c index 2beadbc2905..4eab90d8f6d 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; -- 2.30.2