From 86879c21acddbfa729e6172052ab7b79165d27b4 Mon Sep 17 00:00:00 2001 From: Jeffrey A Law Date: Mon, 8 Mar 1999 14:40:47 +0000 Subject: [PATCH] flow.c (merge_blocks_nomove): For HAVE_cc0 targets... MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit � * flow.c (merge_blocks_nomove): For HAVE_cc0 targets, make sure to also delete the cc0 setter when deleting a conditional branch to the next block. From-SVN: r25642 --- gcc/ChangeLog | 7 +++++++ gcc/flow.c | 13 +++++++++++++ 2 files changed, 20 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c68252e7544..77d23c1ce40 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,8 +1,15 @@ +Mon Mar 8 15:27:42 1999 Jeffrey A Law (law@cygnus.com) + + * flow.c (merge_blocks_nomove): For HAVE_cc0 targets, make sure + to also delete the cc0 setter when deleting a conditional branch + to the next block. + Mon Mar 8 18:47:11 1999 J"orn Rennecke * regmove.c (copy_src_to_dest): New argument max_old_uid. Mon Mar 8 08:23:00 1999 Bruce Korb + * ChangeLog: merged entries from fixincl-branch Sun Mar 7 11:48:56 1999 Richard Henderson diff --git a/gcc/flow.c b/gcc/flow.c index 5b72509732a..3b4ef6e581d 100644 --- a/gcc/flow.c +++ b/gcc/flow.c @@ -1821,7 +1821,20 @@ merge_blocks_nomove (a, b) else { rtx tmp = a->end; + a->end = prev_nonnote_insn (tmp); + +#ifdef HAVE_cc0 + /* If this was a conditional jump, we need to also delete + the insn that set cc0. */ + if (! simplejump_p (tmp) && condjump_p (tmp)) + { + PUT_CODE (PREV_INSN (tmp), NOTE); + NOTE_LINE_NUMBER (PREV_INSN (tmp)) = NOTE_INSN_DELETED; + NOTE_SOURCE_FILE (PREV_INSN (tmp)) = 0; + } +#endif + flow_delete_insn (tmp); } } -- 2.30.2