diff options
author | Sami Tolvanen <samitolvanen@google.com> | 2022-08-18 23:53:09 +0000 |
---|---|---|
committer | Sami Tolvanen <samitolvanen@google.com> | 2022-11-17 21:55:00 +0000 |
commit | eb2a57ebc7aaad551af30462097a9e06c96db925 (patch) | |
tree | 07882cfe9a9f751e55490942d2152894344601f8 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | c4436f675d8f5903303fc13d2c2eff2c5800d49b (diff) | |
download | llvm-eb2a57ebc7aaad551af30462097a9e06c96db925.zip llvm-eb2a57ebc7aaad551af30462097a9e06c96db925.tar.gz llvm-eb2a57ebc7aaad551af30462097a9e06c96db925.tar.bz2 |
Add generic KCFI operand bundle lowering
The KCFI sanitizer emits "kcfi" operand bundles to indirect
call instructions, which the LLVM back-end lowers into an
architecture-specific type check with a known machine instruction
sequence. Currently, KCFI operand bundle lowering is supported only
on 64-bit X86 and AArch64 architectures.
As a lightweight forward-edge CFI implementation that doesn't
require LTO is also useful for non-Linux low-level targets on
other machine architectures, add a generic KCFI operand bundle
lowering pass that's only used when back-end lowering support is not
available and allows -fsanitize=kcfi to be enabled in Clang on all
architectures.
Reviewed By: nickdesaulniers, MaskRay
Differential Revision: https://reviews.llvm.org/D135411
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions