+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
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);
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)