|
LLVM 24.0.0git
|
This file contains the X86 implementation of the speculative execution side effect suppression mitigation. More...
#include "X86.h"#include "X86InstrInfo.h"#include "X86Subtarget.h"#include "llvm/ADT/Statistic.h"#include "llvm/CodeGen/MachineFunction.h"#include "llvm/CodeGen/MachineFunctionPass.h"#include "llvm/CodeGen/MachineInstrBuilder.h"#include "llvm/Pass.h"#include "llvm/Target/TargetMachine.h"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "x86-seses" |
Functions | |
| STATISTIC (NumLFENCEsInserted, "Number of lfence instructions inserted") | |
| static bool | hasConstantAddressingMode (const MachineInstr &MI) |
| static bool | runX86SpeculativeExecutionSideEffectSuppression (MachineFunction &MF) |
This file contains the X86 implementation of the speculative execution side effect suppression mitigation.
This must be used with the -mlvi-cfi flag in order to mitigate indirect branches and returns.
Definition in file X86SpeculativeExecutionSideEffectSuppression.cpp.
| #define DEBUG_TYPE "x86-seses" |
Definition at line 28 of file X86SpeculativeExecutionSideEffectSuppression.cpp.
|
static |
Definition at line 58 of file X86SpeculativeExecutionSideEffectSuppression.cpp.
References MI.
Referenced by runX86SpeculativeExecutionSideEffectSuppression().
|
static |
Definition at line 66 of file X86SpeculativeExecutionSideEffectSuppression.cpp.
References assert(), llvm::BuildMI(), llvm::dbgs(), llvm::dwarf_linker::DebugLoc, llvm::X86Subtarget::getCLOpts(), llvm::X86Subtarget::getInstrInfo(), llvm::MachineFunction::getName(), llvm::TargetMachine::getOptLevel(), llvm::MachineFunction::getSubtarget(), llvm::MachineFunction::getTarget(), hasConstantAddressingMode(), LLVM_DEBUG, MBB, MI, Modified, llvm::None, and TII.
Referenced by llvm::X86SpeculativeExecutionSideEffectSuppressionPass::run().
| STATISTIC | ( | NumLFENCEsInserted | , |
| "Number of lfence instructions inserted" | ) |