llvm-project/clang/lib/Driver
Scott Constable c74dd640fd [X86] Add a Pass that builds a Condensed CFG for Load Value Injection (LVI) Gadgets
Adds a new data structure, ImmutableGraph, and uses RDF to find LVI gadgets and add them to a MachineGadgetGraph.

More specifically, a new X86 machine pass finds Load Value Injection (LVI) gadgets consisting of a load from memory (i.e., SOURCE), and any operation that may transmit the value loaded from memory over a covert channel, or use the value loaded from memory to determine a branch/call target (i.e., SINK).

Also adds a new target feature to X86: +lvi-load-hardening

The feature can be added via the clang CLI using -mlvi-hardening.

Differential Revision: https://reviews.llvm.org/D75936
2020-04-03 13:02:04 -07:00
..
ToolChains [X86] Add a Pass that builds a Condensed CFG for Load Value Injection (LVI) Gadgets 2020-04-03 13:02:04 -07:00
Action.cpp [Clang][OpenMP Offload] Add new tool for wrapping offload device binaries 2019-10-09 20:42:58 +00:00
CMakeLists.txt [NFC] Move OptionUtils from Basic to Driver 2019-12-23 08:11:23 -05:00
Compilation.cpp [CUDA][HIP] Add -Xarch_device and -Xarch_host options 2020-03-24 10:13:05 -04:00
DarwinSDKInfo.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Distro.cpp Remove unused Endian.h includes, NFC 2020-03-11 15:45:34 -07:00
Driver.cpp Rename options --cuda-gpu-arch and --no-cuda-gpu-arch 2020-03-30 20:29:50 -04:00
DriverOptions.cpp [Driver] Use shared singleton instance of DriverOptTable 2019-09-04 14:26:28 +00:00
InputInfo.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Job.cpp [Clang] Limit -fintegrated-cc1 to only one TU 2020-02-12 17:02:57 -05:00
Multilib.cpp Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
OptionUtils.cpp [NFC] Move OptionUtils from Basic to Driver 2019-12-23 08:11:23 -05:00
Phases.cpp [clang][ifs] Clang Interface Stubs ToolChain plumbing. 2019-10-08 15:23:14 +00:00
SanitizerArgs.cpp Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
Tool.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ToolChain.cpp [CUDA][HIP] Add -Xarch_device and -Xarch_host options 2020-03-24 10:13:05 -04:00
Types.cpp [clang][IFS] Driver Pipeline: generate stubs after standard pipeline (3) 2019-11-20 16:22:50 -05:00
XRayArgs.cpp [xray][clang] Always add xray-skip-entry/exit and xray-ignore-loops attrs 2020-02-11 14:00:41 -08:00