]> git.ipfire.org Git - thirdparty/gcc.git/commit
x86: Replace ix86_red_zone_size with ix86_red_zone_used
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 11 Jun 2021 14:31:29 +0000 (07:31 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Sun, 13 Jun 2021 12:15:24 +0000 (05:15 -0700)
commit3f04e3782536ad2f9cfbb8cfe6630e9f9dd8af4c
treead60bbdf7c05083665a4cc64056fe429a330863b
parentd554f43c98eb07f222afef5e90b5582d65519f7e
x86: Replace ix86_red_zone_size with ix86_red_zone_used

Add red_zone_used to machine_function to track if red zone is used.
When expanding function prologue, set red_zone_used to true if red
zone is used.

gcc/

PR target/101023
* config/i386/i386.c (ix86_expand_prologue): Set red_zone_used
to true if red zone is used.
(ix86_output_indirect_jmp): Replace ix86_red_zone_size with
ix86_red_zone_used.
* config/i386/i386.h (machine_function): Add red_zone_used.
(ix86_red_zone_size): Removed.
(ix86_red_zone_used): New.
* config/i386/i386.md (peephole2 patterns): Replace
ix86_red_zone_size with ix86_red_zone_used.

gcc/testsuite/

PR target/101023
* g++.target/i386/pr101023a.C: New test.
* g++.target/i386/pr101023b.C: Likewise.
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/config/i386/i386.md
gcc/testsuite/g++.target/i386/pr101023a.C [new file with mode: 0644]
gcc/testsuite/g++.target/i386/pr101023b.C [new file with mode: 0644]