diff options
author | Richard Biener <rguenther@suse.de> | 2015-01-26 14:50:03 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2015-01-26 14:50:03 +0000 |
commit | 3cd58c0fae56c8092a3542d60fdefaee08d87b27 (patch) | |
tree | 7dda80279fc13188e5fbef3b9399771004a83eb3 /gcc/tree-ssa-uninit.c | |
parent | 96af01aea54e4a3b3ab855dd7c3028710eafa5ab (diff) | |
download | gcc-3cd58c0fae56c8092a3542d60fdefaee08d87b27.zip gcc-3cd58c0fae56c8092a3542d60fdefaee08d87b27.tar.gz gcc-3cd58c0fae56c8092a3542d60fdefaee08d87b27.tar.bz2 |
re PR middle-end/64764 (internal compiler error: in is_value_included_in, at tree-ssa-uninit.c:942)
2015-01-26 Richard Biener <rguenther@suse.de>
PR middle-end/64764
* tree-ssa-uninit.c (is_pred_expr_subset_of): Handle
combining two BIT_AND_EXPR predicates.
* gcc.dg/uninit-19.c: New testcase.
From-SVN: r220111
Diffstat (limited to 'gcc/tree-ssa-uninit.c')
-rw-r--r-- | gcc/tree-ssa-uninit.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-ssa-uninit.c b/gcc/tree-ssa-uninit.c index 25aae19..d04c185 100644 --- a/gcc/tree-ssa-uninit.c +++ b/gcc/tree-ssa-uninit.c @@ -1377,7 +1377,8 @@ is_pred_expr_subset_of (pred_info expr1, pred_info expr2) if (expr2.invert) code2 = invert_tree_comparison (code2, false); - if (code1 == EQ_EXPR && code2 == BIT_AND_EXPR) + if ((code1 == EQ_EXPR || code1 == BIT_AND_EXPR) + && code2 == BIT_AND_EXPR) return wi::eq_p (expr1.pred_rhs, wi::bit_and (expr1.pred_rhs, expr2.pred_rhs)); |