My CROSSING_JUMP_P patch didn't handle insns that were copied by emit_copy_of_insn_after, which previously would copy REG_CROSSING_JUMP notes by virtue of them being != REG_LABEL_OPERAND.
This patch adds the missing copy. Tested with profiledbootstrap on x86_64-linux-gnu. Committed as obvious. Thanks, Richard gcc/ PR rtl-optimization/61243 * emit-rtl.c (emit_copy_of_insn_after): Copy CROSSING_JUMP_P. Index: gcc/emit-rtl.c =================================================================== --- gcc/emit-rtl.c 2014-05-20 20:20:24.525295969 +0100 +++ gcc/emit-rtl.c 2014-05-20 22:18:18.894580150 +0100 @@ -6027,6 +6027,7 @@ emit_copy_of_insn_after (rtx insn, rtx a case JUMP_INSN: new_rtx = emit_jump_insn_after (copy_insn (PATTERN (insn)), after); + CROSSING_JUMP_P (new_rtx) = CROSSING_JUMP_P (insn); break; case DEBUG_INSN: