22 #ifndef LLVM_CODEGEN_REACHINGDEFSANALYSIS_H 23 #define LLVM_CODEGEN_REACHINGDEFSANALYSIS_H 32 class MachineBasicBlock;
45 using LiveRegsDefInfo = std::vector<int>;
46 LiveRegsDefInfo LiveRegs;
65 using MBBDefsInfo = std::vector<MBBRegUnitDefs>;
71 const int ReachingDefDefaultVal = -(1 << 20);
118 #endif // LLVM_CODEGEN_REACHINGDEFSANALYSIS_H void initializeReachingDefAnalysisPass(PassRegistry &)
static PassRegistry * getPassRegistry()
getPassRegistry - Access the global registry object, which is automatically initialized at applicatio...
This class represents lattice values for constants.
bool runOnMachineFunction(MachineFunction &MF) override
runOnMachineFunction - This method must be overloaded to perform the desired machine code transformat...
This class provides the reaching def analysis.
MachineFunctionPass - This class adapts the FunctionPass interface to allow convenient creation of pa...
void releaseMemory() override
releaseMemory() - This member can be implemented by a pass if it wants to be able to release its memo...
uint16_t MCPhysReg
An unsigned integer type large enough to represent all physical registers, but not necessarily virtua...
void getAnalysisUsage(AnalysisUsage &AU) const override
getAnalysisUsage - Subclasses that override getAnalysisUsage must call this.
Represent the analysis usage information of a pass.
TargetRegisterInfo base class - We assume that the target defines a static array of TargetRegisterDes...
void getAnalysisUsage(AnalysisUsage &AU) const override
getAnalysisUsage - Subclasses that override getAnalysisUsage must call this.
void setPreservesAll()
Set by analyses that do not transform their input at all.
MachineFunctionProperties & set(Property P)
Representation of each machine instruction.
int getClearance(MachineInstr *MI, MCPhysReg PhysReg)
Provides the clearance - the number of instructions since the closest reaching def instuction of Phys...
int getReachingDef(MachineInstr *MI, int PhysReg)
Provides the instruction id of the closest reaching def instruction of PhysReg that reaches MI...
MachineFunctionProperties getRequiredProperties() const override
Properties which a MachineFunction may have at a given point in time.