diff options
author | Georg-Johann Lay <avr@gjlay.de> | 2024-02-29 18:08:45 +0100 |
---|---|---|
committer | Georg-Johann Lay <avr@gjlay.de> | 2024-02-29 18:46:19 +0100 |
commit | 2f43ad6a60adb8dd4af9a3c78dfe78597e891c9e (patch) | |
tree | c4829705b7dcc1a9c9b5f6d54cc37d9101269770 /gcc/function.h | |
parent | b83f3cd3ff765fb82344b848b8a128763b7a4233 (diff) | |
download | gcc-2f43ad6a60adb8dd4af9a3c78dfe78597e891c9e.zip gcc-2f43ad6a60adb8dd4af9a3c78dfe78597e891c9e.tar.gz gcc-2f43ad6a60adb8dd4af9a3c78dfe78597e891c9e.tar.bz2 |
AVR: target/114132 - Code sets up a frame pointer without need.
The condition CUMULATIVE_ARGS.nregs == 0 in avr_frame_pointer_required_p()
means that no more argument registers are left, but that's not the same
condition that tells whether an argument pointer is required.
PR target/114132
gcc/
* config/avr/avr.h (CUMULATIVE_ARGS) <has_stack_args>: New field.
* config/avr/avr.cc (avr_init_cumulative_args): Initialize it.
(avr_function_arg): Set it.
(avr_frame_pointer_required_p): Use it instead of .nregs.
gcc/testsuite/
* gcc.target/avr/pr114132-1.c: New test.
* gcc.target/avr/torture/pr114132-2.c: New test.
Diffstat (limited to 'gcc/function.h')
0 files changed, 0 insertions, 0 deletions