Commit 4627c7fb by Andreas Krebbel Committed by Andreas Krebbel

s390.c (s390_chunkify_start): Prevent literal pool splitting between a call and…

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
parent 2d36b47f
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> 2011-03-18 Maxim Kuvyrkov <maxim@codesourcery.com>
PR rtl-optimization/48170 PR rtl-optimization/48170
......
...@@ -6651,7 +6651,7 @@ s390_chunkify_start (void) ...@@ -6651,7 +6651,7 @@ s390_chunkify_start (void)
s390_add_execute (curr_pool, insn); s390_add_execute (curr_pool, insn);
s390_add_pool_insn (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; rtx pool_ref = NULL_RTX;
find_constant_pool_ref (PATTERN (insn), &pool_ref); find_constant_pool_ref (PATTERN (insn), &pool_ref);
...@@ -6676,6 +6676,15 @@ s390_chunkify_start (void) ...@@ -6676,6 +6676,15 @@ s390_chunkify_start (void)
pending_ltrel = pool_ref; 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) if (GET_CODE (insn) == JUMP_INSN || GET_CODE (insn) == CODE_LABEL)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment