s390.c (s390_chunkify_start): Prevent literal pool splitting between a call and its corresponding...
2011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * config/s390/s390.c (s390_chunkify_start): Prevent literal pool splitting between a call and its corresponding CALL_ARG_LOCATION note. From-SVN: r171156
This commit is contained in:
parent
2d36b47ff5
commit
4627c7fb22
@ -1,3 +1,9 @@
|
||||
2011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
||||
|
||||
* config/s390/s390.c (s390_chunkify_start): Prevent literal pool
|
||||
splitting between a call and its corresponding CALL_ARG_LOCATION
|
||||
note.
|
||||
|
||||
2011-03-18 Maxim Kuvyrkov <maxim@codesourcery.com>
|
||||
|
||||
PR rtl-optimization/48170
|
||||
|
@ -6651,7 +6651,7 @@ s390_chunkify_start (void)
|
||||
s390_add_execute (curr_pool, insn);
|
||||
s390_add_pool_insn (curr_pool, insn);
|
||||
}
|
||||
else if (GET_CODE (insn) == INSN || GET_CODE (insn) == CALL_INSN)
|
||||
else if (GET_CODE (insn) == INSN || CALL_P (insn))
|
||||
{
|
||||
rtx pool_ref = NULL_RTX;
|
||||
find_constant_pool_ref (PATTERN (insn), &pool_ref);
|
||||
@ -6676,6 +6676,15 @@ s390_chunkify_start (void)
|
||||
pending_ltrel = pool_ref;
|
||||
}
|
||||
}
|
||||
/* Make sure we do not split between a call and its
|
||||
corresponding CALL_ARG_LOCATION note. */
|
||||
if (CALL_P (insn))
|
||||
{
|
||||
rtx next = NEXT_INSN (insn);
|
||||
if (next && NOTE_P (next)
|
||||
&& NOTE_KIND (next) == NOTE_INSN_CALL_ARG_LOCATION)
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (GET_CODE (insn) == JUMP_INSN || GET_CODE (insn) == CODE_LABEL)
|
||||
|
Loading…
Reference in New Issue
Block a user