LLVM 22.0.0git
MachineCSE.cpp File Reference

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "machine-cse"

Functions

 STATISTIC (NumCoalesces, "Number of copies coalesced")
 STATISTIC (NumCSEs, "Number of common subexpression eliminated")
 STATISTIC (NumPREs, "Number of partial redundant expression" " transformed to fully redundant")
 STATISTIC (NumPhysCSEs, "Number of physreg referencing common subexpr eliminated")
 STATISTIC (NumCrossBBCSEs, "Number of cross-MBB physreg referencing CS eliminated")
 STATISTIC (NumCommutes, "Number of copies coalesced after commuting")
 INITIALIZE_PASS_BEGIN (MachineCSELegacy, DEBUG_TYPE, "Machine Common Subexpression Elimination", false, false) INITIALIZE_PASS_END(MachineCSELegacy
static bool isCallerPreservedOrConstPhysReg (MCRegister Reg, const MachineOperand &MO, const MachineFunction &MF, const TargetRegisterInfo &TRI, const TargetInstrInfo &TII)

Variables

static cl::opt< int > CSUsesThreshold ("csuses-threshold", cl::Hidden, cl::init(1024), cl::desc("Threshold for the size of CSUses"))
static cl::opt< boolAggressiveMachineCSE ("aggressive-machine-cse", cl::Hidden, cl::init(false), cl::desc("Override the profitability heuristics for Machine CSE"))
 DEBUG_TYPE
Machine Common Subexpression Elimination
Machine Common Subexpression false

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "machine-cse"

Definition at line 51 of file MachineCSE.cpp.

Function Documentation

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( MachineCSELegacy ,
DEBUG_TYPE ,
"Machine Common Subexpression Elimination" ,
false ,
false  )

◆ isCallerPreservedOrConstPhysReg()

bool isCallerPreservedOrConstPhysReg ( MCRegister Reg,
const MachineOperand & MO,
const MachineFunction & MF,
const TargetRegisterInfo & TRI,
const TargetInstrInfo & TII )
static

Definition at line 263 of file MachineCSE.cpp.

References llvm::MachineFunction::getRegInfo(), MRI, Reg, TII, and TRI.

◆ STATISTIC() [1/6]

STATISTIC ( NumCoalesces ,
"Number of copies coalesced"  )

◆ STATISTIC() [2/6]

STATISTIC ( NumCommutes ,
"Number of copies coalesced after commuting"  )

◆ STATISTIC() [3/6]

STATISTIC ( NumCrossBBCSEs ,
"Number of cross-MBB physreg referencing CS eliminated"  )

◆ STATISTIC() [4/6]

STATISTIC ( NumCSEs ,
"Number of common subexpression eliminated"  )

◆ STATISTIC() [5/6]

STATISTIC ( NumPhysCSEs ,
"Number of physreg referencing common subexpr eliminated"  )

◆ STATISTIC() [6/6]

STATISTIC ( NumPREs ,
"Number of partial redundant expression" " transformed to fully redundant"  )

Variable Documentation

◆ AggressiveMachineCSE

cl::opt< bool > AggressiveMachineCSE("aggressive-machine-cse", cl::Hidden, cl::init(false), cl::desc("Override the profitability heuristics for Machine CSE")) ( "aggressive-machine-cse" ,
cl::Hidden ,
cl::init(false) ,
cl::desc("Override the profitability heuristics for Machine CSE")  )
static

◆ CSUsesThreshold

cl::opt< int > CSUsesThreshold("csuses-threshold", cl::Hidden, cl::init(1024), cl::desc("Threshold for the size of CSUses")) ( "csuses-threshold" ,
cl::Hidden ,
cl::init(1024) ,
cl::desc("Threshold for the size of CSUses")  )
static

◆ DEBUG_TYPE

DEBUG_TYPE

Definition at line 168 of file MachineCSE.cpp.

◆ Elimination

Machine Common Subexpression Elimination

Definition at line 169 of file MachineCSE.cpp.

◆ false

Machine Common Subexpression false

Definition at line 169 of file MachineCSE.cpp.