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> 2006-05-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* unwind-dw2.c: Add declarations for uw_update_context and * 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)), && ! reg_referenced_p (SET_DEST (XVECEXP (newpat, 0, 0)),
XVECEXP (newpat, 0, 1)) XVECEXP (newpat, 0, 1))
&& ! (contains_muldiv (SET_SRC (XVECEXP (newpat, 0, 0))) && ! (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, /* 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 but it does if one references cc0. In that case, it has to