class PhysicalRegisterUsageInfo
Declaration
class PhysicalRegisterUsageInfo : public ImmutablePass { /* full declaration omitted */ };
Description
ImmutablePass class - This class is used to provide information that does not need to be run. This is useful for things like target information and "basic" versions of AnalysisGroups.
Declared at: llvm/include/llvm/CodeGen/RegisterUsageInfo.h:34
Inherits from: ImmutablePass
Member Variables
- private DenseMap<const llvm::Function*, std::vector<uint32_t>> RegMasks
- A Dense map from Function * to RegMask. In RegMask 0 means register used (clobbered) by function. and 1 means content of register will be preserved around function call.
- private const llvm::LLVMTargetMachine* TM
- public static char ID
Method Overview
- public PhysicalRegisterUsageInfo()
- public bool doFinalization(llvm::Module & M)
- public bool doInitialization(llvm::Module & M)
- public ArrayRef<uint32_t> getRegUsageInfo(const llvm::Function & FP)
- public void print(llvm::raw_ostream & OS, const llvm::Module * M = nullptr) const
- public void setTargetMachine(const llvm::LLVMTargetMachine & TM)
- public void storeUpdateRegUsageInfo(const llvm::Function & FP, ArrayRef<uint32_t> RegMask)
Inherited from ImmutablePass:
Inherited from ModulePass:
- public assignPassManager
- public createPrinterPass
- public getPotentialPassManagerType
- public runOnModule
- protected skipModule
Inherited from Pass:
- public assignPassManager
- public createPass
- public createPrinterPass
- public doFinalization
- public doInitialization
- public dump
- public dumpPassStructure
- public getAdjustedAnalysisPointer
- public getAnalysis
- public getAnalysis
- public getAnalysisID
- public getAnalysisID
- public getAnalysisIfAvailable
- public getAnalysisUsage
- public getAsImmutablePass
- public getAsPMDataManager
- public getPassID
- public getPassKind
- public getPassName
- public getPotentialPassManagerType
- public getResolver
- public lookupPassInfo
- public lookupPassInfo
- public mustPreserveAnalysisID
- public preparePassManager
- public print
- public releaseMemory
- public setResolver
- public verifyAnalysis
Methods
¶PhysicalRegisterUsageInfo()
PhysicalRegisterUsageInfo()
Declared at: llvm/include/llvm/CodeGen/RegisterUsageInfo.h:38
¶bool doFinalization(llvm::Module& M)
bool doFinalization(llvm::Module& M)
Description
doFinalization - Virtual method overriden by subclasses to do any necessary clean up after all passes have run.
Declared at: llvm/include/llvm/CodeGen/RegisterUsageInfo.h:48
Parameters
- llvm::Module& M
¶bool doInitialization(llvm::Module& M)
bool doInitialization(llvm::Module& M)
Description
doInitialization - Virtual method overridden by subclasses to do any necessary initialization before any pass is run.
Declared at: llvm/include/llvm/CodeGen/RegisterUsageInfo.h:46
Parameters
- llvm::Module& M
¶ArrayRef<uint32_t> getRegUsageInfo(
const llvm::Function& FP)
ArrayRef<uint32_t> getRegUsageInfo(
const llvm::Function& FP)
Description
To query stored RegMask for given Function *, it will returns ane empty array if function is not known.
Declared at: llvm/include/llvm/CodeGen/RegisterUsageInfo.h:56
Parameters
- const llvm::Function& FP
¶void print(llvm::raw_ostream& OS,
const llvm::Module* M = nullptr) const
void print(llvm::raw_ostream& OS,
const llvm::Module* M = nullptr) const
Description
print - Print out the internal state of the pass. This is called by Analyze to print out the contents of an analysis. Otherwise it is not necessary to implement this method. Beware that the module pointer MAY be null. This automatically forwards to a virtual function that does not provide the Module* in case the analysis doesn't need it it can just be ignored.
Declared at: llvm/include/llvm/CodeGen/RegisterUsageInfo.h:58
Parameters
- llvm::raw_ostream& OS
- const llvm::Module* M = nullptr
¶void setTargetMachine(
const llvm::LLVMTargetMachine& TM)
void setTargetMachine(
const llvm::LLVMTargetMachine& TM)
Description
Set TargetMachine which is used to print analysis.
Declared at: llvm/include/llvm/CodeGen/RegisterUsageInfo.h:44
Parameters
- const llvm::LLVMTargetMachine& TM
¶void storeUpdateRegUsageInfo(
const llvm::Function& FP,
ArrayRef<uint32_t> RegMask)
void storeUpdateRegUsageInfo(
const llvm::Function& FP,
ArrayRef<uint32_t> RegMask)
Description
To store RegMask for given Function *.
Declared at: llvm/include/llvm/CodeGen/RegisterUsageInfo.h:51
Parameters
- const llvm::Function& FP
- ArrayRef<uint32_t> RegMask