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

Reply via email to