The following fixes a stupid bug with -ftree-loop-if-convert-stores. We were treating all but the same base as candidate to determine whether a ref was accessed unconditionally ...
Bootstrap & regtest running on x86_64-unknown-linux-gnu. Richard. 2015-07-09 Richard Biener <rguent...@suse.de> PR tree-optimization/66823 * tree-if-conv.c (memrefs_read_or_written_unconditionally): Fix inverted predicate. Index: gcc/tree-if-conv.c =================================================================== --- gcc/tree-if-conv.c (revision 225610) +++ gcc/tree-if-conv.c (working copy) @@ -642,7 +642,7 @@ memrefs_read_or_written_unconditionally || TREE_CODE (ref_base_b) == REALPART_EXPR) ref_base_b = TREE_OPERAND (ref_base_b, 0); - if (!operand_equal_p (ref_base_a, ref_base_b, 0)) + if (operand_equal_p (ref_base_a, ref_base_b, 0)) { tree cb = bb_predicate (gimple_bb (DR_STMT (b)));