]> git.ipfire.org Git - people/ms/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>
Thu, 15 Jul 2021 12:40:25 +0000 (05:40 -0700)
commitba3b30cf70990f4aadb393b64b76ff490bb0bd0f
treec6f526a4f8929028d5308a7107480fe9932d3af3
parenta0128f11e9dadc3cc3ed0ad0edb36593b16f72e8
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.

(cherry picked from commit 3f04e3782536ad2f9cfbb8cfe6630e9f9dd8af4c)
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]