mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-22 10:09:09 +08:00
combine.c (try_combine): Fix error in change to try original register.
* combine.c (try_combine): Fix error in change to try original register. (gen_rtx_combine): Do same as gen_rtx for now. From-SVN: r40390
This commit is contained in:
parent
3d9d247676
commit
c7ca5912e3
@ -1,3 +1,9 @@
|
||||
Sun Mar 11 17:01:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||||
|
||||
* combine.c (try_combine): Fix error in change to try original
|
||||
register.
|
||||
(gen_rtx_combine): Do same as gen_rtx for now.
|
||||
|
||||
2001-03-11 Zack Weinberg <zackw@stanford.edu>
|
||||
|
||||
* configure.in: AC_SUBST xm_defines.
|
||||
|
@ -2150,12 +2150,15 @@ try_combine (i3, i2, i1, new_direct_jump_p)
|
||||
/* If the split with the mode-changed register didn't work, try
|
||||
the original register. */
|
||||
if (! m_split && ni2dest != i2dest)
|
||||
m_split = split_insns (gen_rtx_PARALLEL
|
||||
(VOIDmode,
|
||||
gen_rtvec (2, newpat,
|
||||
gen_rtx_CLOBBER (VOIDmode,
|
||||
i2dest))),
|
||||
i3);
|
||||
{
|
||||
ni2dest = i2dest;
|
||||
m_split = split_insns (gen_rtx_PARALLEL
|
||||
(VOIDmode,
|
||||
gen_rtvec (2, newpat,
|
||||
gen_rtx_CLOBBER (VOIDmode,
|
||||
i2dest))),
|
||||
i3);
|
||||
}
|
||||
}
|
||||
|
||||
if (m_split && GET_CODE (m_split) != SEQUENCE)
|
||||
@ -9922,22 +9925,6 @@ gen_rtx_combine VPARAMS ((enum rtx_code code, enum machine_mode mode, ...))
|
||||
|
||||
va_end (p);
|
||||
|
||||
/* See if this is in undobuf. Be sure we don't use objects that came
|
||||
from another insn; this could produce circular rtl structures. */
|
||||
|
||||
for (undo = undobuf.undos; undo != undobuf.previous_undos; undo = undo->next)
|
||||
if (!undo->is_int
|
||||
&& GET_CODE (undo->old_contents.r) == code
|
||||
&& GET_MODE (undo->old_contents.r) == mode)
|
||||
{
|
||||
for (j = 0; j < n_args; j++)
|
||||
if (XEXP (undo->old_contents.r, j) != args[j])
|
||||
break;
|
||||
|
||||
if (j == n_args)
|
||||
return undo->old_contents.r;
|
||||
}
|
||||
|
||||
/* Otherwise make a new rtx. We know we have 1, 2, or 3 args.
|
||||
Use rtx_alloc instead of gen_rtx because it's faster on RISC. */
|
||||
rt = rtx_alloc (code);
|
||||
|
Loading…
Reference in New Issue
Block a user