fix compilation on AUTO_INC_DEC targets

fix compilation on AUTO_INC_DEC targets
	* combine.c (combine_instructions) [AUTO_INC_DEC]: Declare links
	as an rtx.
	(try_combine) [AUTO_INC_DEC]: Declare a local link rtx.

From-SVN: r171995
This commit is contained in:
Nathan Froyd 2011-04-05 18:36:15 +00:00 committed by Nathan Froyd
parent b71b43d913
commit 3fb7c0552c
2 changed files with 20 additions and 9 deletions

View File

@ -1,3 +1,9 @@
2011-04-05 Nathan Froyd <froydnj@codesourcery.com>
* combine.c (combine_instructions) [AUTO_INC_DEC]: Declare links
as an rtx.
(try_combine) [AUTO_INC_DEC]: Declare a local link rtx.
2011-04-05 Steven Bosscher <steven@gcc.gnu.org>
PR middle-end/48441

View File

@ -1139,6 +1139,8 @@ combine_instructions (rtx f, unsigned int nregs)
FOR_BB_INSNS (this_basic_block, insn)
if (INSN_P (insn) && BLOCK_FOR_INSN (insn))
{
rtx links;
subst_low_luid = DF_INSN_LUID (insn);
subst_insn = insn;
@ -2911,15 +2913,18 @@ try_combine (rtx i3, rtx i2, rtx i1, rtx i0, int *new_direct_jump_p)
/* It's not the exception. */
#endif
#ifdef AUTO_INC_DEC
for (link = REG_NOTES (i3); link; link = XEXP (link, 1))
if (REG_NOTE_KIND (link) == REG_INC
&& (reg_overlap_mentioned_p (XEXP (link, 0), PATTERN (i2))
|| (i1 != 0
&& reg_overlap_mentioned_p (XEXP (link, 0), PATTERN (i1)))))
{
undo_all ();
return 0;
}
{
rtx link;
for (link = REG_NOTES (i3); link; link = XEXP (link, 1))
if (REG_NOTE_KIND (link) == REG_INC
&& (reg_overlap_mentioned_p (XEXP (link, 0), PATTERN (i2))
|| (i1 != 0
&& reg_overlap_mentioned_p (XEXP (link, 0), PATTERN (i1)))))
{
undo_all ();
return 0;
}
}
#endif
/* See if the SETs in I1 or I2 need to be kept around in the merged