aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorSami Tolvanen <samitolvanen@google.com>2022-08-18 23:53:09 +0000
committerSami Tolvanen <samitolvanen@google.com>2022-11-17 21:55:00 +0000
commiteb2a57ebc7aaad551af30462097a9e06c96db925 (patch)
tree07882cfe9a9f751e55490942d2152894344601f8 /clang/lib/Frontend/CompilerInvocation.cpp
parentc4436f675d8f5903303fc13d2c2eff2c5800d49b (diff)
downloadllvm-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