Commit 77c4f044 by Richard Henderson Committed by John David Anglin

pa.c (store_reg_modify): Set RTX_FRAME_RELATED_P on each set in parallel.

	* pa.c (store_reg_modify): Set RTX_FRAME_RELATED_P on each set in
	parallel.
	(hppa_expand_prologue): Likewise.

From-SVN: r105856
parent 3674b34d
2005-10-24 Richard Henderson <rth@redhat.com>
* pa.c (store_reg_modify): Set RTX_FRAME_RELATED_P on each set in
parallel.
(hppa_expand_prologue): Likewise.
2005-10-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 2005-10-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* pa-linux.h (NO_PROFILE_COUNTERS): Delete define. * pa-linux.h (NO_PROFILE_COUNTERS): Delete define.
......
...@@ -3326,25 +3326,9 @@ store_reg_modify (int base, int reg, HOST_WIDE_INT mod) ...@@ -3326,25 +3326,9 @@ store_reg_modify (int base, int reg, HOST_WIDE_INT mod)
RTX_FRAME_RELATED_P (insn) = 1; RTX_FRAME_RELATED_P (insn) = 1;
/* RTX_FRAME_RELATED_P must be set on each frame related set /* RTX_FRAME_RELATED_P must be set on each frame related set
in a parallel with more than one element. Don't set in a parallel with more than one element. */
RTX_FRAME_RELATED_P in the first set if reg is temporary RTX_FRAME_RELATED_P (XVECEXP (PATTERN (insn), 0, 0)) = 1;
register 1. The effect of this operation is recorded in RTX_FRAME_RELATED_P (XVECEXP (PATTERN (insn), 0, 1)) = 1;
the initial copy. */
if (reg != 1)
{
RTX_FRAME_RELATED_P (XVECEXP (PATTERN (insn), 0, 0)) = 1;
RTX_FRAME_RELATED_P (XVECEXP (PATTERN (insn), 0, 1)) = 1;
}
else
{
/* The first element of a PARALLEL is always processed if it is
a SET. Thus, we need an expression list for this case. */
REG_NOTES (insn)
= gen_rtx_EXPR_LIST (REG_FRAME_RELATED_EXPR,
gen_rtx_SET (VOIDmode, basereg,
gen_rtx_PLUS (word_mode, basereg, delta)),
REG_NOTES (insn));
}
} }
} }
...@@ -3578,17 +3562,7 @@ hppa_expand_prologue (void) ...@@ -3578,17 +3562,7 @@ hppa_expand_prologue (void)
frames. */ frames. */
insn = emit_move_insn (tmpreg, frame_pointer_rtx); insn = emit_move_insn (tmpreg, frame_pointer_rtx);
if (DO_FRAME_NOTES) if (DO_FRAME_NOTES)
{ RTX_FRAME_RELATED_P (insn) = 1;
/* We need to record the frame pointer save here since the
new frame pointer is set in the following insn. */
RTX_FRAME_RELATED_P (insn) = 1;
REG_NOTES (insn)
= gen_rtx_EXPR_LIST (REG_FRAME_RELATED_EXPR,
gen_rtx_SET (VOIDmode,
gen_rtx_MEM (word_mode, stack_pointer_rtx),
frame_pointer_rtx),
REG_NOTES (insn));
}
insn = emit_move_insn (frame_pointer_rtx, stack_pointer_rtx); insn = emit_move_insn (frame_pointer_rtx, stack_pointer_rtx);
if (DO_FRAME_NOTES) if (DO_FRAME_NOTES)
......
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