summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2016-02-16 09:00:32 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2016-02-16 09:00:32 +0000
commit8e5e4f151c3c639c497e1cd2ffdb475535b23e84 (patch)
treef7984e1b910fa279e5c5f6bd1bff6de72540470b
parentfd808c11b4bf04233ef24f806556bf3eace6e626 (diff)
downloadgcc-8e5e4f151c3c639c497e1cd2ffdb475535b23e84.tar.gz
2016-02-16 Richard Biener <rguenther@suse.de>
PR tree-optimization/69586 * tree-vrp.c (register_edge_assert_for_2): Handle all integral types for conversion sources. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233445 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-vrp.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bb58d51c2e3..b7878906b9b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2016-02-16 Richard Biener <rguenther@suse.de>
+ PR tree-optimization/69586
+ * tree-vrp.c (register_edge_assert_for_2): Handle all integral
+ types for conversion sources.
+
+2016-02-16 Richard Biener <rguenther@suse.de>
+
PR middle-end/69801
* fold-const.c (operand_equal_p): For COND_EXPR zero operand
mask OEP_ADDRESS_OF.
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index 9644ba1acfa..0ce7f1fde5a 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -5449,7 +5449,7 @@ register_edge_assert_for_2 (tree name, edge e, gimple_stmt_iterator bsi,
cst2 = NULL_TREE;
if (rhs_code == BIT_AND_EXPR
|| (CONVERT_EXPR_CODE_P (rhs_code)
- && TREE_CODE (TREE_TYPE (val)) == INTEGER_TYPE
+ && INTEGRAL_TYPE_P (TREE_TYPE (val))
&& TYPE_UNSIGNED (TREE_TYPE (val))
&& TYPE_PRECISION (TREE_TYPE (gimple_assign_rhs1 (def_stmt)))
> prec))