LLVM 20.0.0git
Macros | Functions | Variables
X86IndirectBranchTracking.cpp File Reference
#include "X86.h"
#include "X86InstrInfo.h"
#include "X86Subtarget.h"
#include "X86TargetMachine.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineModuleInfo.h"
#include "llvm/IR/Module.h"

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "x86-indirect-branch-tracking"
 

Functions

 STATISTIC (NumEndBranchAdded, "Number of ENDBR instructions added")
 
static bool IsCallReturnTwice (llvm::MachineOperand &MOp)
 
static bool needsPrologueENDBR (MachineFunction &MF, const Module *M)
 

Variables

cl::opt< boolIndirectBranchTracking ("x86-indirect-branch-tracking", cl::init(false), cl::Hidden, cl::desc("Enable X86 indirect branch tracking pass."))
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "x86-indirect-branch-tracking"

Definition at line 30 of file X86IndirectBranchTracking.cpp.

Function Documentation

◆ IsCallReturnTwice()

static bool IsCallReturnTwice ( llvm::MachineOperand MOp)
static

◆ needsPrologueENDBR()

static bool needsPrologueENDBR ( MachineFunction MF,
const Module M 
)
static

◆ STATISTIC()

STATISTIC ( NumEndBranchAdded  ,
"Number of ENDBR instructions added"   
)

Variable Documentation

◆ IndirectBranchTracking

cl::opt< bool > IndirectBranchTracking("x86-indirect-branch-tracking", cl::init(false), cl::Hidden, cl::desc("Enable X86 indirect branch tracking pass.")) ( "x86-indirect-branch-tracking"  ,
cl::init(false)  ,
cl::Hidden  ,
cl::desc("Enable X86 indirect branch tracking pass.")   
)