aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>2000-05-01 23:35:22 -0700
committerRichard Henderson <rth@gcc.gnu.org>2000-05-01 23:35:22 -0700
commit15ac7707bc7b4f9b04e995c9f304518932e85649 (patch)
treea5c775320421fec11cbff73e388083cc07dc1a1c
parent3b54e10b04fd2f211f1dc0b384f6de8c235971d4 (diff)
downloadgcc-15ac7707bc7b4f9b04e995c9f304518932e85649.zip
gcc-15ac7707bc7b4f9b04e995c9f304518932e85649.tar.gz
gcc-15ac7707bc7b4f9b04e995c9f304518932e85649.tar.bz2
ifcvt.c (dead_or_predicable): Set merge_bb->end to the insn before the sequence we're moving...
* ifcvt.c (dead_or_predicable): Set merge_bb->end to the insn before the sequence we're moving, not to merge_bb->head. From-SVN: r33605
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/ifcvt.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0c27203..b56fa62 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2000-05-01 Richard Henderson <rth@cygnus.com>
+ * ifcvt.c (dead_or_predicable): Set merge_bb->end to the insn before
+ the sequence we're moving, not to merge_bb->head.
+
+2000-05-01 Richard Henderson <rth@cygnus.com>
+
* configure.in (alpha*-*-linux-gnulibc1*) [tmake_file]: Remove
reference to alpha/t-linux.
(alpha*-*-linux-gnu*): Likewise.
diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c
index d571a42..c1fc951 100644
--- a/gcc/ifcvt.c
+++ b/gcc/ifcvt.c
@@ -1935,10 +1935,11 @@ dead_or_predicable (test_bb, merge_bb, other_bb, new_dest, reversep)
}
/* Move the insns out of MERGE_BB to before the branch. */
- if (end == merge_bb->end)
- merge_bb->end = merge_bb->head;
if (head != NULL)
{
+ if (end == merge_bb->end)
+ merge_bb->end = PREV_INSN (head);
+
head = squeeze_notes (head, end);
if (GET_CODE (end) == NOTE
&& (NOTE_LINE_NUMBER (end) == NOTE_INSN_BLOCK_END