combine.c (try_combine): Trying to check the missed case 3->2 combining (combining with splitting) in...
* combine.c (try_combine) [HAVE_cc0]: Trying to check the missed case 3->2 combining (combining with splitting) in which 2 is CC0 setter/user and 3 is user. The rest of cases 2->1 and 3->2 are checked at the begining of the function with the aid of calling function 'can_combine_p'. From-SVN: r31727
This commit is contained in:
parent
a9fda12fbb
commit
5ef17dd258
@ -1,3 +1,11 @@
|
||||
2000-01-31 Chandra Chavva <cchavva@cygnus.com>
|
||||
|
||||
* combine.c (try_combine) [HAVE_cc0]: Trying to check the missed
|
||||
case 3->2 combining (combining with splitting) in which 2 is CC0
|
||||
setter/user and 3 is user. The rest of cases 2->1 and 3->2 are
|
||||
checked at the begining of the function with the aid of calling
|
||||
function 'can_combine_p'.
|
||||
|
||||
2000-01-31 Dave Brolley <brolley@redhat.com>
|
||||
|
||||
* cccp.c (struct argdata): Redeclare 'newlines' field as 'int'.
|
||||
|
@ -2391,6 +2391,18 @@ try_combine (i3, i2, i1)
|
||||
distribute_notes (new_other_notes, undobuf.other_insn,
|
||||
undobuf.other_insn, NULL_RTX, NULL_RTX, NULL_RTX);
|
||||
}
|
||||
#ifdef HAVE_cc0
|
||||
/* If I2 is the setter CC0 and I3 is the user CC0 then check whether
|
||||
they are adjacent to each other or not. */
|
||||
{
|
||||
rtx p = prev_nonnote_insn (i3);
|
||||
if (p && p != i2 && GET_CODE (p) == INSN && newi2pat && sets_cc0_p (newi2pat))
|
||||
{
|
||||
undo_all ();
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* We now know that we can do this combination. Merge the insns and
|
||||
update the status of registers and LOG_LINKS. */
|
||||
|
Loading…
Reference in New Issue
Block a user