diff options
author | froydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-05 18:36:15 +0000 |
---|---|---|
committer | froydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-04-05 18:36:15 +0000 |
commit | 2415b8ff57f8ae602518d6e7e8b8fe4f6fec4a09 (patch) | |
tree | a07f964dfe4e0ee6da3f8b30f03dd8e754157aad /gcc/combine.c | |
parent | 72269ab0760904c48b83d0f063e16cdeaf246406 (diff) | |
download | gcc-2415b8ff57f8ae602518d6e7e8b8fe4f6fec4a09.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171995 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/combine.c')
-rw-r--r-- | gcc/combine.c | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index 30b7fdd041d..3e4a38c0a46 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -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 |