diff options
author | Jeffrey A Law <law@cygnus.com> | 1999-03-08 14:40:47 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-03-08 07:40:47 -0700 |
commit | 86879c21acddbfa729e6172052ab7b79165d27b4 (patch) | |
tree | 4a85a1ccf1069a5a93c14cc839e9649fa45ba474 /gcc | |
parent | 30ca27b4751fd68cb31758d01f309b13144b1cc2 (diff) | |
download | gcc-86879c21acddbfa729e6172052ab7b79165d27b4.zip gcc-86879c21acddbfa729e6172052ab7b79165d27b4.tar.gz gcc-86879c21acddbfa729e6172052ab7b79165d27b4.tar.bz2 |
flow.c (merge_blocks_nomove): For HAVE_cc0 targets...
�
* 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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/flow.c | 13 |
2 files changed, 20 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c68252e..77d23c1 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 <amylaar@cygnus.co.uk> * regmove.c (copy_src_to_dest): New argument max_old_uid. Mon Mar 8 08:23:00 1999 Bruce Korb <korb@datadesign.com> + * ChangeLog: merged entries from fixincl-branch Sun Mar 7 11:48:56 1999 Richard Henderson <rth@cygnus.com> @@ -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); } } |