sh.c (find_barrier): Don't emit a constant pool between a call and its corresponding...
* config/sh/sh.c (find_barrier): Don't emit a constant pool between a call and its corresponding CALL_ARG_LOCATION note. From-SVN: r171185
This commit is contained in:
parent
67bd9a32cf
commit
5969b52d80
@ -1,3 +1,9 @@
|
||||
2011-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
|
||||
|
||||
PR debug/48178
|
||||
* config/sh/sh.c (find_barrier): Don't emit a constant pool
|
||||
between a call and its corresponding CALL_ARG_LOCATION note.
|
||||
|
||||
2011-03-19 Anatoly Sokolov <aesok@post.ru>
|
||||
|
||||
* cfgcleanup.c (mark_effect): Use bitmap_set_range/bitmap_clear_range
|
||||
|
@ -4876,6 +4876,16 @@ find_barrier (int num_mova, rtx mova, rtx from)
|
||||
|| LABEL_P (from))
|
||||
from = PREV_INSN (from);
|
||||
|
||||
/* Make sure we do not split between a call and its corresponding
|
||||
CALL_ARG_LOCATION note. */
|
||||
if (CALL_P (from))
|
||||
{
|
||||
rtx next = NEXT_INSN (from);
|
||||
if (next && NOTE_P (next)
|
||||
&& NOTE_KIND (next) == NOTE_INSN_CALL_ARG_LOCATION)
|
||||
from = next;
|
||||
}
|
||||
|
||||
from = emit_jump_insn_after (gen_jump (label), from);
|
||||
JUMP_LABEL (from) = label;
|
||||
LABEL_NUSES (label) = 1;
|
||||
|
Loading…
Reference in New Issue
Block a user