aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorAnatoly Sokolov <aesok@post.ru>2007-10-05 01:18:12 +0400
committerAnatoly Sokolov <aesok@gcc.gnu.org>2007-10-05 01:18:12 +0400
commit8819eb78eeeb80a427d74583cec5a8615aceb855 (patch)
tree724151c92095f61fb7f27c9dbf00d6ece852e35e /gcc/config
parent815cd40643f4007299927c480145ba81528edc26 (diff)
downloadgcc-8819eb78eeeb80a427d74583cec5a8615aceb855.zip
gcc-8819eb78eeeb80a427d74583cec5a8615aceb855.tar.gz
gcc-8819eb78eeeb80a427d74583cec5a8615aceb855.tar.bz2
* config/avr/avr.c (expand_epilogue): Don't set RTX_FRAME_RELATED_P.
From-SVN: r129023
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/avr/avr.c68
1 files changed, 24 insertions, 44 deletions
diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c
index 67c11c0..8e3de6a 100644
--- a/gcc/config/avr/avr.c
+++ b/gcc/config/avr/avr.c
@@ -787,13 +787,11 @@ expand_epilogue (void)
int live_seq;
int minimize;
HOST_WIDE_INT size = get_frame_size();
- rtx insn;
/* epilogue: naked */
if (cfun->machine->is_naked)
{
- insn = emit_jump_insn (gen_return ());
- RTX_FRAME_RELATED_P (insn) = 1;
+ emit_jump_insn (gen_return ());
return;
}
@@ -806,29 +804,23 @@ expand_epilogue (void)
{
/* Return value from main() is already in the correct registers
(r25:r24) as the exit() argument. */
- insn = emit_jump_insn (gen_return ());
- RTX_FRAME_RELATED_P (insn) = 1;
+ emit_jump_insn (gen_return ());
}
else if (minimize && (frame_pointer_needed || live_seq > 4))
{
if (frame_pointer_needed)
{
/* Get rid of frame. */
- insn =
- emit_move_insn(frame_pointer_rtx,
- gen_rtx_PLUS (HImode, frame_pointer_rtx,
- gen_int_mode (size, HImode)));
- RTX_FRAME_RELATED_P (insn) = 1;
+ emit_move_insn(frame_pointer_rtx,
+ gen_rtx_PLUS (HImode, frame_pointer_rtx,
+ gen_int_mode (size, HImode)));
}
else
{
- insn = emit_move_insn (frame_pointer_rtx, stack_pointer_rtx);
- RTX_FRAME_RELATED_P (insn) = 1;
+ emit_move_insn (frame_pointer_rtx, stack_pointer_rtx);
}
- insn =
- emit_insn (gen_epilogue_restores (gen_int_mode (live_seq, HImode)));
- RTX_FRAME_RELATED_P (insn) = 1;
+ emit_insn (gen_epilogue_restores (gen_int_mode (live_seq, HImode)));
}
else
{
@@ -842,7 +834,7 @@ expand_epilogue (void)
fp_plus_length =
get_attr_length (gen_move_insn (frame_pointer_rtx,
gen_rtx_PLUS (HImode, frame_pointer_rtx,
- gen_int_mode (size,
+ gen_int_mode (size,
HImode))));
/* Copy to stack pointer. */
fp_plus_length +=
@@ -855,32 +847,28 @@ expand_epilogue (void)
sp_plus_length =
get_attr_length (gen_move_insn (stack_pointer_rtx,
gen_rtx_PLUS (HImode, stack_pointer_rtx,
- gen_int_mode (size,
+ gen_int_mode (size,
HImode))));
}
/* Use shortest method. */
if (size <= 5 && (sp_plus_length < fp_plus_length))
{
- insn = emit_move_insn (stack_pointer_rtx,
- gen_rtx_PLUS (HImode, stack_pointer_rtx,
- gen_int_mode (size, HImode)));
- RTX_FRAME_RELATED_P (insn) = 1;
+ emit_move_insn (stack_pointer_rtx,
+ gen_rtx_PLUS (HImode, stack_pointer_rtx,
+ gen_int_mode (size, HImode)));
}
else
{
- insn = emit_move_insn (frame_pointer_rtx,
- gen_rtx_PLUS (HImode, frame_pointer_rtx,
- gen_int_mode (size, HImode)));
- RTX_FRAME_RELATED_P (insn) = 1;
+ emit_move_insn (frame_pointer_rtx,
+ gen_rtx_PLUS (HImode, frame_pointer_rtx,
+ gen_int_mode (size, HImode)));
/* Copy to stack pointer. */
- insn = emit_move_insn (stack_pointer_rtx, frame_pointer_rtx);
- RTX_FRAME_RELATED_P (insn) = 1;
+ emit_move_insn (stack_pointer_rtx, frame_pointer_rtx);
}
}
/* Restore previous frame_pointer. */
- insn = emit_insn (gen_pophi (frame_pointer_rtx));
- RTX_FRAME_RELATED_P (insn) = 1;
+ emit_insn (gen_pophi (frame_pointer_rtx));
}
/* Restore used registers. */
HARD_REG_SET set;
@@ -888,33 +876,25 @@ expand_epilogue (void)
for (reg = 31; reg >= 0; --reg)
{
if (TEST_HARD_REG_BIT (set, reg))
- {
- insn = emit_insn (gen_popqi (gen_rtx_REG (QImode, reg)));
- RTX_FRAME_RELATED_P (insn) = 1;
- }
+ emit_insn (gen_popqi (gen_rtx_REG (QImode, reg)));
}
if (cfun->machine->is_interrupt || cfun->machine->is_signal)
{
/* Restore SREG using tmp reg as scratch. */
- insn = emit_insn (gen_popqi (tmp_reg_rtx));
- RTX_FRAME_RELATED_P (insn) = 1;
+ emit_insn (gen_popqi (tmp_reg_rtx));
- insn = emit_move_insn (gen_rtx_MEM(QImode, GEN_INT(SREG_ADDR)),
- tmp_reg_rtx);
- RTX_FRAME_RELATED_P (insn) = 1;
+ emit_move_insn (gen_rtx_MEM(QImode, GEN_INT(SREG_ADDR)),
+ tmp_reg_rtx);
/* Restore tmp REG. */
- insn = emit_insn (gen_popqi (tmp_reg_rtx));
- RTX_FRAME_RELATED_P (insn) = 1;
+ emit_insn (gen_popqi (tmp_reg_rtx));
/* Restore zero REG. */
- insn = emit_insn (gen_popqi (zero_reg_rtx));
- RTX_FRAME_RELATED_P (insn) = 1;
+ emit_insn (gen_popqi (zero_reg_rtx));
}
- insn = emit_jump_insn (gen_return ());
- RTX_FRAME_RELATED_P (insn) = 1;
+ emit_jump_insn (gen_return ());
}
}