summaryrefslogtreecommitdiff
path: root/gcc/gimplify.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2013-11-06 13:08:06 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2013-11-06 13:08:06 +0000
commit4a8f88ff0c38b6acf5d0c6d5c43c5a6071eeb2ff (patch)
tree053822df465eb3c1f6c53f1d007303a4f3ddaef0 /gcc/gimplify.c
parentfc3eff8854861fcd70d33d26095b17fe456fae31 (diff)
downloadgcc-4a8f88ff0c38b6acf5d0c6d5c43c5a6071eeb2ff.tar.gz
2013-11-06 Richard Biener <rguenther@suse.de>
* tree.c (drop_tree_overflow): New function. * tree.h (drop_tree_overflow): Declare. * gimplify.c (gimplify_expr): Drop TREE_OVERFLOW. * tree-vrp.c (range_int_cst_singleton_p): Use is_overflow_infinity instead of testing TREE_OVERFLOW. (extract_range_from_assert): Likewise. (zero_nonzero_bits_from_vr): Likewise. (extract_range_basic): Likewise. (register_new_assert_for): Use drop_tree_overflow. (vrp_visit_phi_node): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204454 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/gimplify.c')
-rw-r--r--gcc/gimplify.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index 4df9ed49e96..721e8fb6002 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -7897,6 +7897,10 @@ gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p,
case STRING_CST:
case COMPLEX_CST:
case VECTOR_CST:
+ /* Drop the overflow flag on constants, we do not want
+ that in the GIMPLE IL. */
+ if (TREE_OVERFLOW_P (*expr_p))
+ *expr_p = drop_tree_overflow (*expr_p);
ret = GS_ALL_DONE;
break;