LLVM 20.0.0git
|
#include "AArch64InstrInfo.h"
#include "AArch64Subtarget.h"
#include "Utils/AArch64BaseInfo.h"
#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/RegisterScavenging.h"
#include "llvm/IR/DebugLoc.h"
#include "llvm/Pass.h"
#include "llvm/Support/CodeGen.h"
#include "llvm/Support/Debug.h"
#include "llvm/Target/TargetMachine.h"
#include <cassert>
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "aarch64-speculation-hardening" |
#define | AARCH64_SPECULATION_HARDENING_NAME "AArch64 speculation hardening pass" |
Functions | |
INITIALIZE_PASS (AArch64SpeculationHardening, "aarch64-speculation-hardening", AARCH64_SPECULATION_HARDENING_NAME, false, false) bool AArch64SpeculationHardening | |
Variables | |
static cl::opt< bool > | HardenLoads ("aarch64-slh-loads", cl::Hidden, cl::desc("Sanitize loads from memory."), cl::init(true)) |
#define AARCH64_SPECULATION_HARDENING_NAME "AArch64 speculation hardening pass" |
Definition at line 117 of file AArch64SpeculationHardening.cpp.
#define DEBUG_TYPE "aarch64-speculation-hardening" |
Definition at line 115 of file AArch64SpeculationHardening.cpp.
INITIALIZE_PASS | ( | AArch64SpeculationHardening | , |
"aarch64-speculation-hardening" | , | ||
AARCH64_SPECULATION_HARDENING_NAME | , | ||
false | , | ||
false | |||
) |
Definition at line 183 of file AArch64SpeculationHardening.cpp.
References llvm::HexagonInstrInfo::analyzeBranch(), assert(), llvm::SmallVectorBase< Size_T >::empty(), llvm::MachineBasicBlock::getFallThrough(), MBB, llvm::SmallVectorBase< Size_T >::size(), llvm::MachineBasicBlock::succ_size(), TBB, and TII.