On 09/09/2015 08:02 AM, Marek Polacek wrote:
We were crashing on this testcase in invert_tree_comparison because it
got BIT_AND_EXPR, but this function expects comparison codes only. In
this case pred_equal_p got two predicates: m != 1 and m & 1. By checking
the tcc_comparison first we don't ICE anymore and pred_equal_p correctly
says false for these two predicates.
In 4.9 we were able to mark 'z' as maybe-uninitialized, but that's likely
out of scope for this patch.
Bootstrapped/regtested on x86_64-linux, ok for trunk and 5?
2015-09-09 Marek Polacek <pola...@redhat.com>
PR middle-end/67512
* tree-ssa-uninit.c (pred_equal_p): Only call invert_tree_comparison
for comparisons.
* gcc.dg/pr67512.c: New test.
OK.
jeff