|
LLVM
8.0.1
|
Pass that injects an MI thunk implementing a "retpoline". More...
#include "X86.h"#include "X86InstrBuilder.h"#include "X86Subtarget.h"#include "llvm/CodeGen/MachineFunction.h"#include "llvm/CodeGen/MachineInstrBuilder.h"#include "llvm/CodeGen/MachineModuleInfo.h"#include "llvm/CodeGen/Passes.h"#include "llvm/CodeGen/TargetPassConfig.h"#include "llvm/IR/IRBuilder.h"#include "llvm/IR/Instructions.h"#include "llvm/IR/Module.h"#include "llvm/Support/CommandLine.h"#include "llvm/Support/Debug.h"#include "llvm/Support/raw_ostream.h"
Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "x86-retpoline-thunks" |
Variables | |
| static const char | ThunkNamePrefix [] = "__llvm_retpoline_" |
| static const char | R11ThunkName [] = "__llvm_retpoline_r11" |
| static const char | EAXThunkName [] = "__llvm_retpoline_eax" |
| static const char | ECXThunkName [] = "__llvm_retpoline_ecx" |
| static const char | EDXThunkName [] = "__llvm_retpoline_edx" |
| static const char | EDIThunkName [] = "__llvm_retpoline_edi" |
Pass that injects an MI thunk implementing a "retpoline".
This is a RET-implemented trampoline that is used to lower indirect calls in a way that prevents speculation on some x86 processors and can be used to mitigate security vulnerabilities due to targeted speculative execution and side channels such as CVE-2017-5715.
TODO(chandlerc): All of this code could use better comments and documentation.
Definition in file X86RetpolineThunks.cpp.
| #define DEBUG_TYPE "x86-retpoline-thunks" |
Definition at line 39 of file X86RetpolineThunks.cpp.
Definition at line 43 of file X86RetpolineThunks.cpp.
Referenced by llvm::createX86RetpolineThunksPass().
Definition at line 44 of file X86RetpolineThunks.cpp.
Referenced by llvm::createX86RetpolineThunksPass().
Definition at line 46 of file X86RetpolineThunks.cpp.
Referenced by llvm::createX86RetpolineThunksPass().
Definition at line 45 of file X86RetpolineThunks.cpp.
Referenced by llvm::createX86RetpolineThunksPass().
Definition at line 42 of file X86RetpolineThunks.cpp.
Definition at line 41 of file X86RetpolineThunks.cpp.
1.8.13