* config/arm/arm.c (emit_sfm): Only emit a single frame adjustment.
From-SVN: r85480
This commit is contained in:
parent
7a1f75f1b7
commit
8ee6eb4e8c
@ -1,3 +1,7 @@
|
||||
2004-08-03 Paul Brook <paul@codesourcery.com>
|
||||
|
||||
* config/arm/arm.c (emit_sfm): Only emit a single frame adjustment.
|
||||
|
||||
2004-08-03 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* coverage.c (tree_coverage_counter_ref): Fix computation of the new
|
||||
|
@ -9911,7 +9911,7 @@ emit_sfm (int base_reg, int count)
|
||||
int i;
|
||||
|
||||
par = gen_rtx_PARALLEL (VOIDmode, rtvec_alloc (count));
|
||||
dwarf = gen_rtx_PARALLEL (VOIDmode, rtvec_alloc (count));
|
||||
dwarf = gen_rtx_SEQUENCE (VOIDmode, rtvec_alloc (count + 1));
|
||||
|
||||
reg = gen_rtx_REG (XFmode, base_reg++);
|
||||
|
||||
@ -9922,13 +9922,10 @@ emit_sfm (int base_reg, int count)
|
||||
gen_rtx_UNSPEC (BLKmode,
|
||||
gen_rtvec (1, reg),
|
||||
UNSPEC_PUSH_MULT));
|
||||
tmp
|
||||
= gen_rtx_SET (VOIDmode,
|
||||
gen_rtx_MEM (XFmode,
|
||||
gen_rtx_PRE_DEC (BLKmode, stack_pointer_rtx)),
|
||||
reg);
|
||||
tmp = gen_rtx_SET (VOIDmode,
|
||||
gen_rtx_MEM (XFmode, stack_pointer_rtx), reg);
|
||||
RTX_FRAME_RELATED_P (tmp) = 1;
|
||||
XVECEXP (dwarf, 0, count - 1) = tmp;
|
||||
XVECEXP (dwarf, 0, 1) = tmp;
|
||||
|
||||
for (i = 1; i < count; i++)
|
||||
{
|
||||
@ -9937,13 +9934,21 @@ emit_sfm (int base_reg, int count)
|
||||
|
||||
tmp = gen_rtx_SET (VOIDmode,
|
||||
gen_rtx_MEM (XFmode,
|
||||
gen_rtx_PRE_DEC (BLKmode,
|
||||
stack_pointer_rtx)),
|
||||
plus_constant (stack_pointer_rtx,
|
||||
i * 12)),
|
||||
reg);
|
||||
RTX_FRAME_RELATED_P (tmp) = 1;
|
||||
XVECEXP (dwarf, 0, count - i - 1) = tmp;
|
||||
XVECEXP (dwarf, 0, i + 1) = tmp;
|
||||
}
|
||||
|
||||
tmp = gen_rtx_SET (VOIDmode,
|
||||
stack_pointer_rtx,
|
||||
gen_rtx_PLUS (SImode,
|
||||
stack_pointer_rtx,
|
||||
GEN_INT (-12 * count)));
|
||||
RTX_FRAME_RELATED_P (tmp) = 1;
|
||||
XVECEXP (dwarf, 0, 0) = tmp;
|
||||
|
||||
par = emit_insn (par);
|
||||
REG_NOTES (par) = gen_rtx_EXPR_LIST (REG_FRAME_RELATED_EXPR, dwarf,
|
||||
REG_NOTES (par));
|
||||
|
Loading…
Reference in New Issue
Block a user