Message ID | 20170429162015.GP1809@tucnak |
---|---|
State | New |
Headers | show |
--- gcc/ifcvt.c.jj 2017-04-04 19:51:33.000000000 +0200 +++ gcc/ifcvt.c 2017-04-24 16:01:09.784787699 +0200 @@ -3440,7 +3440,14 @@ noce_process_if_block (struct noce_if_in } else { - insn_b = prev_nonnote_nondebug_insn (if_info->cond_earliest); + insn_b = if_info->cond_earliest; + do + insn_b = prev_nonnote_nondebug_insn (insn_b); + while (insn_b + && (BLOCK_FOR_INSN (insn_b) + == BLOCK_FOR_INSN (if_info->cond_earliest)) + && !modified_in_p (x, insn_b)); + /* We're going to be moving the evaluation of B down from above COND_EARLIEST to JUMP. Make sure the relevant data is still intact. */