Commit 5dcc9605 by John David Anglin Committed by John David Anglin

pa.c (store_reg): Revise generation of frame notes in large frames.

	* pa.c (store_reg): Revise generation of frame notes in large frames.
	(set_reg_plus_d): Likewise.

From-SVN: r106867
parent e84d8064
2005-11-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* pa.c (store_reg): Revise generation of frame notes in large frames.
(set_reg_plus_d): Likewise.
2005-11-13 Andrew MacLeod <amacleod@redhat.com>
PR tree-optimization/24709
......
......@@ -3265,20 +3265,18 @@ store_reg (int reg, HOST_WIDE_INT disp, int base)
rtx tmpreg = gen_rtx_REG (Pmode, 1);
emit_move_insn (tmpreg, delta);
emit_move_insn (tmpreg, gen_rtx_PLUS (Pmode, tmpreg, basereg));
dest = gen_rtx_MEM (word_mode, tmpreg);
insn = emit_move_insn (dest, src);
insn = emit_move_insn (tmpreg, gen_rtx_PLUS (Pmode, tmpreg, basereg));
if (DO_FRAME_NOTES)
{
REG_NOTES (insn)
= gen_rtx_EXPR_LIST (REG_FRAME_RELATED_EXPR,
gen_rtx_SET (VOIDmode,
gen_rtx_MEM (word_mode,
gen_rtx_PLUS (word_mode, basereg,
delta)),
src),
gen_rtx_SET (VOIDmode, tmpreg,
gen_rtx_PLUS (Pmode, basereg, delta)),
REG_NOTES (insn));
RTX_FRAME_RELATED_P (insn) = 1;
}
dest = gen_rtx_MEM (word_mode, tmpreg);
insn = emit_move_insn (dest, src);
}
else
{
......@@ -3358,6 +3356,12 @@ set_reg_plus_d (int reg, int base, HOST_WIDE_INT disp, int note)
emit_move_insn (tmpreg, delta);
insn = emit_move_insn (gen_rtx_REG (Pmode, reg),
gen_rtx_PLUS (Pmode, tmpreg, basereg));
if (DO_FRAME_NOTES)
REG_NOTES (insn)
= gen_rtx_EXPR_LIST (REG_FRAME_RELATED_EXPR,
gen_rtx_SET (VOIDmode, tmpreg,
gen_rtx_PLUS (Pmode, basereg, delta)),
REG_NOTES (insn));
}
else
{
......
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