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