From f937df35a46610a9f8eb54d28bcc8f50533c8611 Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Wed, 30 Nov 2005 11:12:36 +0000 Subject: [PATCH] loop-doloop.c (add_test): Only add jump notes if we did emit a jump. * loop-doloop.c (add_test): Only add jump notes if we did emit a jump. From-SVN: r107713 --- gcc/ChangeLog | 5 +++++ gcc/loop-doloop.c | 16 ++++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8cf398be9a70..ddb830f89b7b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-11-30 Nathan Sidwell + + * loop-doloop.c (add_test): Only add jump notes if we did emit a + jump. + 2005-11-30 Jeff Law * tree-ssa-uncprop.c (associate_equivalences_with_edges): Properly diff --git a/gcc/loop-doloop.c b/gcc/loop-doloop.c index 280abddb24da..3fcb79d9dc1f 100644 --- a/gcc/loop-doloop.c +++ b/gcc/loop-doloop.c @@ -244,14 +244,18 @@ add_test (rtx cond, basic_block bb, basic_block dest) do_compare_rtx_and_jump (op0, op1, code, 0, mode, NULL_RTX, NULL_RTX, label); jump = get_last_insn (); - JUMP_LABEL (jump) = label; + /* It is possible for the jump to be optimized out. */ + if (JUMP_P (jump)) + { + JUMP_LABEL (jump) = label; - /* The jump is supposed to handle an unlikely special case. */ - REG_NOTES (jump) - = gen_rtx_EXPR_LIST (REG_BR_PROB, - const0_rtx, REG_NOTES (jump)); + /* The jump is supposed to handle an unlikely special case. */ + REG_NOTES (jump) + = gen_rtx_EXPR_LIST (REG_BR_PROB, + const0_rtx, REG_NOTES (jump)); - LABEL_NUSES (label)++; + LABEL_NUSES (label)++; + } seq = get_insns (); end_sequence ();