diff options
author | Bill Wendling <isanbard@gmail.com> | 2022-02-08 17:40:59 -0800 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2022-02-08 17:42:54 -0800 |
commit | deaf22bc0e306bc44c70d2503e9364b5ed312c49 (patch) | |
tree | 180a857a884a7ac508577fc0b2bcd69f078c328b /llvm/lib/Support/TargetParser.cpp | |
parent | dc8f4e118d92982ff5f6316fe7d541d120ebabd1 (diff) | |
download | llvm-deaf22bc0e306bc44c70d2503e9364b5ed312c49.zip llvm-deaf22bc0e306bc44c70d2503e9364b5ed312c49.tar.gz llvm-deaf22bc0e306bc44c70d2503e9364b5ed312c49.tar.bz2 |
[X86] Implement -fzero-call-used-regs option
The "-fzero-call-used-regs" option tells the compiler to zero out
certain registers before the function returns. It's also available as a
function attribute: zero_call_used_regs.
The two upper categories are:
- "used": Zero out used registers.
- "all": Zero out all registers, whether used or not.
The individual options are:
- "skip": Don't zero out any registers. This is the default.
- "used": Zero out all used registers.
- "used-arg": Zero out used registers that are used for arguments.
- "used-gpr": Zero out used registers that are GPRs.
- "used-gpr-arg": Zero out used GPRs that are used as arguments.
- "all": Zero out all registers.
- "all-arg": Zero out all registers used for arguments.
- "all-gpr": Zero out all GPRs.
- "all-gpr-arg": Zero out all GPRs used for arguments.
This is used to help mitigate Return-Oriented Programming exploits.
Reviewed By: nickdesaulniers
Differential Revision: https://reviews.llvm.org/D110869
Diffstat (limited to 'llvm/lib/Support/TargetParser.cpp')
0 files changed, 0 insertions, 0 deletions