re PR rtl-optimization/27477 (The H8 port doesn't build)

PR rtl-optimization/27477
	* combine.c (try_combine): Don't split a parallel consisting
	of two sets into two individual sets if both sets reference
	cc0.

From-SVN: r113872
This commit is contained in:
Kazu Hirata 2006-05-17 21:34:57 +00:00 committed by Kazu Hirata
parent 95dc56a4c7
commit c89833429b
2 changed files with 15 additions and 1 deletions

View file

@ -1,3 +1,10 @@
2006-05-17 Kazu Hirata <kazu@codesourcery.com>
PR rtl-optimization/27477
* combine.c (try_combine): Don't split a parallel consisting
of two sets into two individual sets if both sets reference
cc0.
2006-05-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* unwind-dw2.c: Add declarations for uw_update_context and

View file

@ -2896,7 +2896,14 @@ try_combine (rtx i3, rtx i2, rtx i1, int *new_direct_jump_p)
&& ! reg_referenced_p (SET_DEST (XVECEXP (newpat, 0, 0)),
XVECEXP (newpat, 0, 1))
&& ! (contains_muldiv (SET_SRC (XVECEXP (newpat, 0, 0)))
&& contains_muldiv (SET_SRC (XVECEXP (newpat, 0, 1)))))
&& contains_muldiv (SET_SRC (XVECEXP (newpat, 0, 1))))
#ifdef HAVE_cc0
/* We cannot split the parallel into two sets if both sets
reference cc0. */
&& ! (reg_referenced_p (cc0_rtx, XVECEXP (newpat, 0, 0))
&& reg_referenced_p (cc0_rtx, XVECEXP (newpat, 0, 1)))
#endif
)
{
/* Normally, it doesn't matter which of the two is done first,
but it does if one references cc0. In that case, it has to