aboutsummaryrefslogtreecommitdiff
path: root/gcc/modulo-sched.c
diff options
context:
space:
mode:
authorGeorg-Johann Lay <avr@gjlay.de>2011-10-29 14:35:59 +0000
committerGeorg-Johann Lay <gjl@gcc.gnu.org>2011-10-29 14:35:59 +0000
commitd702f362b50d9f6fe4a92b2404c6b9ec51f2708c (patch)
tree2b7105e17f53cbbc8c1dab89a9af8469370a09bb /gcc/modulo-sched.c
parentf439d6bad9ee840bf7e63e0f7a74440679bb50e0 (diff)
downloadgcc-d702f362b50d9f6fe4a92b2404c6b9ec51f2708c.zip
gcc-d702f362b50d9f6fe4a92b2404c6b9ec51f2708c.tar.gz
gcc-d702f362b50d9f6fe4a92b2404c6b9ec51f2708c.tar.bz2
re PR target/50887 ([avr] Support ACCUMULATE_OUTGOING_ARGS)
PR target/50887 * config/avr/avr.opt (-maccumulate-args): New option. * config/avr/avr.h (STARTING_FRAME_OFFSET): Redefine to avr_starting_frame_offset. (ACCUMULATE_OUTGOING_ARGS): Define to avr_accumulate_outgoing_args. * config/avr/avr.md (UNSPECV_WRITE_SP_IRQ_ON): Remove. (UNSPECV_WRITE_SP_IRQ_OFF): Remove. (UNSPECV_WRITE_SP): New constant. (*addhi3_sp_R): Rewrite to... (*addhi3_sp): ...this new insn. (movhi_sp_r_irq_off, movhi_sp_r_irq_on): Combine to... (movhi_sp_r): ...this new insn. * config/avr/avr-protos.h (avr_accumulate_outgoing_args): New. (avr_starting_frame_offset): New. * config/avr/avr.c (avr_accumulate_outgoing_args): New function. (avr_starting_frame_offset): New function. (avr_outgoing_args_size): New static function. (avr_initial_elimination_offset): Use it. (avr_simple_epilogue): Use it. (avr_asm_function_end_prologue): Use it. (expand_epilogue): Use it. (expand_prologue): Use it. Break out code to... (avr_prologue_setup_frame): ...this new static function. (avr_can_eliminate): Allow eliminating to frame pointer if there is one. (avr_frame_pointer_required_p): Use frame pointer if target has a nonlocal label. * config/avr/constraints.md (R): Remove. (Csp): New constraint. * config/avr/predicates.md (avr_sp_immediate_operand): Use it. From-SVN: r180654
Diffstat (limited to 'gcc/modulo-sched.c')
0 files changed, 0 insertions, 0 deletions