aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-10-04 21:42:54 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1994-10-04 21:42:54 -0400
commit41dfd40ca0582665a5b706a26fbd9b6d0397da76 (patch)
tree43f216ea99f2e8bc20013eba14108ee9a95a0b11 /gcc
parent34661f5c30b84d318e5fcc27182b2abba52c1889 (diff)
downloadgcc-41dfd40ca0582665a5b706a26fbd9b6d0397da76.zip
gcc-41dfd40ca0582665a5b706a26fbd9b6d0397da76.tar.gz
gcc-41dfd40ca0582665a5b706a26fbd9b6d0397da76.tar.bz2
Fix error in last change.
From-SVN: r8215
Diffstat (limited to 'gcc')
-rw-r--r--gcc/expr.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 4500076..963dae0 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -9109,9 +9109,6 @@ do_jump_for_compare (comparison, if_false_label, if_true_label)
rtx prev = get_last_insn ();
rtx branch = 0;
- if (prev != 0)
- prev = PREV_INSN (prev);
-
/* Output the branch with the opposite condition. Then try to invert
what is generated. If more than one insn is a branch, or if the
branch is not the last insn written, abort. If we can't invert
@@ -9123,14 +9120,17 @@ do_jump_for_compare (comparison, if_false_label, if_true_label)
else
abort ();
- /* Here we get the insn before what was just emitted.
- On some machines, emitting the branch can discard
- the previous compare insn and emit a replacement. */
+ /* Here we get the first insn that was just emitted. It used to be the
+ case that, on some machines, emitting the branch would discard
+ the previous compare insn and emit a replacement. This isn't
+ done anymore, but abort if we see that PREV is deleted. */
+
if (prev == 0)
- /* If there's only one preceding insn... */
insn = get_insns ();
+ else if (INSN_DELETED_P (prev))
+ abort ();
else
- insn = NEXT_INSN (NEXT_INSN (prev));
+ insn = NEXT_INSN (prev);
for (; insn; insn = NEXT_INSN (insn))
if (GET_CODE (insn) == JUMP_INSN)