From f926a2566dd729e82c3798ed9e3e0a91d67b06de Mon Sep 17 00:00:00 2001 From: Jeffrey A Law Date: Thu, 10 May 2001 15:15:48 +0000 Subject: [PATCH] ifcvt.c (merge_if_block): Use any_uncondjump_p... * ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p to determine if a block has an unconditional jump at its end. * jump.c (jump_optimize_1): When converting a conditional jump to an unconditional jump, build the jump using gen_jump instead of just modify operands in-place. From-SVN: r41939 --- gcc/ChangeLog | 9 +++++++++ gcc/ifcvt.c | 2 +- gcc/jump.c | 5 +++-- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a081dfe90a6..c6401124b24 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +Thu May 10 09:17:42 2001 Jeffrey A Law (law@cygnus.com) + + * ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p + to determine if a block has an unconditional jump at its end. + + * jump.c (jump_optimize_1): When converting a conditional jump + to an unconditional jump, build the jump using gen_jump instead + of just modify operands in-place. + 2001-05-09 Zack Weinberg * cppinit.c (cpp_post_options): Shut off macro expansion if diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c index f40a656da34..b57cb138e6b 100644 --- a/gcc/ifcvt.c +++ b/gcc/ifcvt.c @@ -1745,7 +1745,7 @@ merge_if_block (test_bb, then_bb, else_bb, join_bb) /* There should sill be a branch at the end of the THEN or ELSE blocks taking us to our final destination. */ - if (! simplejump_p (combo_bb->end) + if (! any_uncondjump_p (combo_bb->end) && ! returnjump_p (combo_bb->end)) abort (); } diff --git a/gcc/jump.c b/gcc/jump.c index 314a20bb029..68adb835890 100644 --- a/gcc/jump.c +++ b/gcc/jump.c @@ -608,8 +608,9 @@ jump_optimize_1 (f, cross_jump, noop_moves, after_regscan, do_cross_jump (insn, newjpos, newlpos); /* Make the old conditional jump into an unconditional one. */ - SET_SRC (PATTERN (insn)) - = gen_rtx_LABEL_REF (VOIDmode, JUMP_LABEL (insn)); + PATTERN (insn) + = gen_jump (gen_rtx_LABEL_REF (VOIDmode, + JUMP_LABEL (insn))); INSN_CODE (insn) = -1; emit_barrier_after (insn); /* Add to jump_chain unless this is a new label -- 2.30.2