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
This commit is contained in:
John David Anglin 2005-11-13 18:06:55 +00:00 committed by John David Anglin
parent e84d806450
commit 5dcc96058c
2 changed files with 17 additions and 8 deletions

View File

@ -1,3 +1,8 @@
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

View File

@ -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
{