llvm-project/clang/test
Scott Constable 5b519cf1fc [X86] Add Indirect Thunk Support to X86 to mitigate Load Value Injection (LVI)
This pass replaces each indirect call/jump with a direct call to a thunk that looks like:

lfence
jmpq *%r11

This ensures that if the value in register %r11 was loaded from memory, then
the value in %r11 is (architecturally) correct prior to the jump.
Also adds a new target feature to X86: +lvi-cfi
("cfi" meaning control-flow integrity)
The feature can be added via clang CLI using -mlvi-cfi.

This is an alternate implementation to https://reviews.llvm.org/D75934 That merges the thunk insertion functionality with the existing X86 retpoline code.

Differential Revision: https://reviews.llvm.org/D76812
2020-04-03 00:34:39 -07:00
..
ARCMT
AST [AST] Fix crashes on decltype(recovery-expr). 2020-03-30 14:56:33 +02:00
ASTMerge
Analysis [analyzer] StdLibraryFunctionsChecker: fix bug with arg constraints 2020-04-02 17:00:11 +02:00
CXX [Driver] Flip the CC1 default of -fdiagnostics-show-option 2020-03-31 21:59:27 -07:00
ClangScanDeps [clang][clang-scan-deps] Aggregate the full dependency information. 2020-01-23 16:58:50 -08:00
CodeCompletion [CodeComplete] Member completion for concept-constrained types. 2020-03-31 18:43:24 +02:00
CodeGen [X86] Add -flax-vector-conversions=none to more of the clang CodeGen tests 2020-04-02 20:39:18 -07:00
CodeGenCUDA clang/AMDGPU: Stop setting old denormal subtarget features 2020-04-02 17:17:12 -04:00
CodeGenCXX [Clang][CodeGen] Fixing mismatch between memory layout and const expressions for oversized bitfields 2020-04-02 11:55:20 +01:00
CodeGenCoroutines [CodeGen] Add an alignment attribute to all sret parameters 2020-03-24 15:31:57 -04:00
CodeGenHIP Don't dump IR output from this test to stdout. 2020-01-16 19:19:45 -08:00
CodeGenObjC [Frontend] Replace CC1 option -masm-verbose with -fno-verbose-asm 2020-03-31 22:33:55 -07:00
CodeGenObjCXX [CodeGen] Add an alignment attribute to all sret parameters 2020-03-24 15:31:57 -04:00
CodeGenOpenCL clang/AMDGPU: Stop setting old denormal subtarget features 2020-04-02 17:17:12 -04:00
CodeGenOpenCLCXX [CodeGen] Add an alignment attribute to all sret parameters 2020-03-24 15:31:57 -04:00
CodeGenSYCL [SYCL] Implement __builtin_unique_stable_name. 2020-03-25 07:01:50 -07:00
Coverage
CoverageMapping Reland: [Coverage] Revise format to reduce binary size 2020-02-28 18:12:04 -08:00
Driver [X86] Add Indirect Thunk Support to X86 to mitigate Load Value Injection (LVI) 2020-04-03 00:34:39 -07:00
FixIt [objc_direct] Small updates to help with adoption. 2020-02-16 16:32:41 -08:00
Format
Frontend [Driver] Flip the CC1 default of -fdiagnostics-show-option 2020-03-31 21:59:27 -07:00
Headers [ARM,CDE] Improve CDE intrinsics testing 2020-03-27 16:05:18 +00:00
Import [CodeGen] Emit destructor calls to destruct compound literals 2020-03-10 14:08:28 -07:00
Index [pch] Honour -fallow-pch-with-compiler-errors for overall compilation status 2020-03-31 13:50:12 -07:00
Integration
InterfaceStubs [llvm][clang][IFS] Enhancing the llvm-ifs yaml format for symbol lists. 2020-04-01 10:49:06 -04:00
Layout
Lexer Add -std=c++20 flag, replace C++2a with C++20 throughout the Clang 2020-02-18 16:16:37 -08:00
Misc [Driver] Flip the CC1 default of -fdiagnostics-show-option 2020-03-31 21:59:27 -07:00
Modules Allow remapping Clang module include paths 2020-03-27 14:23:30 -07:00
OpenMP [OPENMP50]Add initial support for OpenMP 5.0 iterator. 2020-04-02 08:28:15 -04:00
PCH Allow remapping Clang module skeleton CU references with -fdebug-prefix-map 2020-03-20 15:15:56 -07:00
Parser Fix crash if base specifier parsing hits an invalid type annotation. 2020-03-30 17:21:40 -07:00
ParserSYCL [SYCL] Implement __builtin_unique_stable_name. 2020-03-25 07:01:50 -07:00
Preprocessor [clang][AARCH64] Add __ARM_FEATURE_{PAC, BTI}_DEFAULT defines 2020-04-02 12:54:21 +02:00
Profile Reland: [Coverage] Revise format to reduce binary size 2020-02-28 18:12:04 -08:00
Refactor
Rewriter
Sema [Driver] Flip the CC1 default of -fdiagnostics-show-option 2020-03-31 21:59:27 -07:00
SemaCUDA [cuda][hip] Add CUDA builtin surface/texture reference support. 2020-03-27 17:18:49 -04:00
SemaCXX Fix diagnostics where _Atomic can't be applied 2020-03-31 17:23:35 -07:00
SemaObjC Improve error recovery from missing '>' in template argument list. 2020-03-27 18:59:01 -07:00
SemaObjCXX Form invalid template-id annotations when parsing a construct that is 2020-03-27 20:27:42 -07:00
SemaOpenCL [OpenCL] Add sub-group builtin functions 2020-04-02 13:18:56 +01:00
SemaOpenCLCXX Revert "[AST] Build recovery expressions by default for C++." 2020-03-26 16:25:32 +01:00
SemaSYCL [SYCL] Driver option to select SYCL version 2020-03-07 18:28:54 +03:00
SemaTemplate PR45294: Fix handling of assumed template names looked up in the lexical 2020-03-27 21:07:06 -07:00
TableGen
Templight
Tooling [PowerPC] Delete PPCMachObjectWriter and powerpc{,64}-apple-darwin 2020-03-05 11:05:26 -08:00
Unit Try again to get tests passing again on Windows. 2020-04-02 20:00:38 -04:00
VFS [VFS] More consistent support for Windows 2020-02-05 11:38:20 -08:00
clang-rename [clang-rename] Fix the failure rename test. 2020-02-11 10:07:00 +01:00
utils/update_cc_test_checks Move update_cc_test_checks.py tests to clang 2020-02-14 14:39:55 +00:00
.clang-format
CMakeLists.txt Reland "Make it possible for lit.site.cfg to contain relative paths, and use it for llvm and clang" 2020-04-02 16:12:03 -04:00
TestRunner.sh
cxx-sections.data
lit.cfg.py [Clang][test] Add .i files for test discovery 2020-03-20 18:21:27 -04:00
lit.site.cfg.py.in Try again to get tests passing again on Windows. 2020-04-02 20:00:38 -04:00
make_test_dirs.pl