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.