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> 2005-11-13 Andrew MacLeod <amacleod@redhat.com>
PR tree-optimization/24709 PR tree-optimization/24709
......
...@@ -3265,20 +3265,18 @@ store_reg (int reg, HOST_WIDE_INT disp, int base) ...@@ -3265,20 +3265,18 @@ store_reg (int reg, HOST_WIDE_INT disp, int base)
rtx tmpreg = gen_rtx_REG (Pmode, 1); rtx tmpreg = gen_rtx_REG (Pmode, 1);
emit_move_insn (tmpreg, delta); emit_move_insn (tmpreg, delta);
emit_move_insn (tmpreg, gen_rtx_PLUS (Pmode, tmpreg, basereg)); insn = emit_move_insn (tmpreg, gen_rtx_PLUS (Pmode, tmpreg, basereg));
dest = gen_rtx_MEM (word_mode, tmpreg);
insn = emit_move_insn (dest, src);
if (DO_FRAME_NOTES) if (DO_FRAME_NOTES)
{ {
REG_NOTES (insn) REG_NOTES (insn)
= gen_rtx_EXPR_LIST (REG_FRAME_RELATED_EXPR, = gen_rtx_EXPR_LIST (REG_FRAME_RELATED_EXPR,
gen_rtx_SET (VOIDmode, gen_rtx_SET (VOIDmode, tmpreg,
gen_rtx_MEM (word_mode, gen_rtx_PLUS (Pmode, basereg, delta)),
gen_rtx_PLUS (word_mode, basereg,
delta)),
src),
REG_NOTES (insn)); REG_NOTES (insn));
RTX_FRAME_RELATED_P (insn) = 1;
} }
dest = gen_rtx_MEM (word_mode, tmpreg);
insn = emit_move_insn (dest, src);
} }
else else
{ {
...@@ -3358,6 +3356,12 @@ set_reg_plus_d (int reg, int base, HOST_WIDE_INT disp, int note) ...@@ -3358,6 +3356,12 @@ set_reg_plus_d (int reg, int base, HOST_WIDE_INT disp, int note)
emit_move_insn (tmpreg, delta); emit_move_insn (tmpreg, delta);
insn = emit_move_insn (gen_rtx_REG (Pmode, reg), insn = emit_move_insn (gen_rtx_REG (Pmode, reg),
gen_rtx_PLUS (Pmode, tmpreg, basereg)); 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 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