aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>2001-05-10 15:15:48 +0000
committerJeff Law <law@gcc.gnu.org>2001-05-10 09:15:48 -0600
commitf926a2566dd729e82c3798ed9e3e0a91d67b06de (patch)
treecb402361427a0ac2783f5f9973e729622c3eafa5 /gcc
parent8850521be3f43147cbe9fa2ac5f1d9e16ac702ab (diff)
downloadgcc-f926a2566dd729e82c3798ed9e3e0a91d67b06de.zip
gcc-f926a2566dd729e82c3798ed9e3e0a91d67b06de.tar.gz
gcc-f926a2566dd729e82c3798ed9e3e0a91d67b06de.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/ifcvt.c2
-rw-r--r--gcc/jump.c5
3 files changed, 13 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a081dfe..c640112 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 <zackw@stanford.edu>
* cppinit.c (cpp_post_options): Shut off macro expansion if
diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c
index f40a656..b57cb13 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 314a20b..68adb83 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