Commit 745b9093 by Jason Merrill

jump.c (jump_optimize_1): Don't delete the line note after the prologue even if it seems redundant.

        * jump.c (jump_optimize_1): Don't delete the line note after the
        prologue even if it seems redundant.

        * config/arm/arm.c (arm_expand_prologue): Set RTX_FRAME_RELATED_P
        on all insns used to adjust the stack.

From-SVN: r38286
parent ad334b51
2000-12-15 Jason Merrill <jason@redhat.com>
* jump.c (jump_optimize_1): Don't delete the line note after the
prologue even if it seems redundant.
* config/arm/arm.c (arm_expand_prologue): Set RTX_FRAME_RELATED_P
on all insns used to adjust the stack.
Fri Dec 15 15:32:16 MET 2000 Jan Hubicka <jh@suse.cz>
* combine.c (cant_combine_insn_p): Get around SUBREGs when determining
......
......@@ -7848,9 +7848,17 @@ arm_expand_prologue ()
if (amount != const0_rtx)
{
/* This add can produce multiple insns for a large constant, so we
need to get tricky. */
rtx last = get_last_insn ();
insn = emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx,
amount));
RTX_FRAME_RELATED_P (insn) = 1;
do
{
last = last ? NEXT_INSN (last) : get_insns ();
RTX_FRAME_RELATED_P (last) = 1;
}
while (last != insn);
/* If the frame pointer is needed, emit a special barrier that
will prevent the scheduler from moving stores to the frame
......
......@@ -723,7 +723,13 @@ jump_optimize_1 (f, cross_jump, noop_moves, after_regscan,
rtx last_note = 0;
for (insn = f; insn; insn = NEXT_INSN (insn))
if (GET_CODE (insn) == NOTE && NOTE_LINE_NUMBER (insn) >= 0)
if (GET_CODE (insn) == NOTE)
{
if (NOTE_LINE_NUMBER (insn) == NOTE_INSN_FUNCTION_BEG)
/* Any previous line note was for the prologue; gdb wants a new
note after the prologue even if it is for the same line. */
last_note = NULL_RTX;
else if (NOTE_LINE_NUMBER (insn) >= 0)
{
/* Delete this note if it is identical to previous note. */
if (last_note
......@@ -737,6 +743,7 @@ jump_optimize_1 (f, cross_jump, noop_moves, after_regscan,
last_note = insn;
}
}
}
end:
/* Clean up. */
......
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