LLVM 22.0.0git
|
#include "llvm/CodeGen/SelectionDAGISel.h"
Public Member Functions | |
SelectionDAGISelLegacy (char &ID, std::unique_ptr< SelectionDAGISel > S) | |
~SelectionDAGISelLegacy () override=default | |
void | getAnalysisUsage (AnalysisUsage &AU) const override |
getAnalysisUsage - Subclasses that override getAnalysisUsage must call this. | |
bool | runOnMachineFunction (MachineFunction &MF) override |
runOnMachineFunction - This method must be overloaded to perform the desired machine code transformation or analysis. | |
Public Member Functions inherited from llvm::MachineFunctionPass | |
bool | doInitialization (Module &) override |
doInitialization - Virtual method overridden by subclasses to do any necessary initialization before any pass is run. | |
Public Member Functions inherited from llvm::FunctionPass | |
FunctionPass (char &pid) | |
void | assignPassManager (PMStack &PMS, PassManagerType T) override |
Find appropriate Function Pass Manager or Call Graph Pass Manager in the PM Stack and add self into that manager. | |
PassManagerType | getPotentialPassManagerType () const override |
Return what kind of Pass Manager can manage this pass. | |
Public Member Functions inherited from llvm::Pass | |
Pass (PassKind K, char &pid) | |
Pass (const Pass &)=delete | |
Pass & | operator= (const Pass &)=delete |
virtual | ~Pass () |
PassKind | getPassKind () const |
virtual StringRef | getPassName () const |
getPassName - Return a nice clean name for a pass. | |
StringRef | getPassArgument () const |
Return a nice clean name for a pass corresponding to that used to enable the pass in opt. | |
AnalysisID | getPassID () const |
getPassID - Return the PassID number that corresponds to this pass. | |
virtual bool | doFinalization (Module &) |
doFinalization - Virtual method overriden by subclasses to do any necessary clean up after all passes have run. | |
virtual void | print (raw_ostream &OS, const Module *M) const |
print - Print out the internal state of the pass. | |
void | dump () const |
virtual void | preparePassManager (PMStack &) |
Check if available pass managers are suitable for this pass or not. | |
void | setResolver (AnalysisResolver *AR) |
AnalysisResolver * | getResolver () const |
virtual void | releaseMemory () |
releaseMemory() - This member can be implemented by a pass if it wants to be able to release its memory when it is no longer needed. | |
virtual ImmutablePass * | getAsImmutablePass () |
virtual PMDataManager * | getAsPMDataManager () |
virtual void | verifyAnalysis () const |
verifyAnalysis() - This member can be implemented by a analysis pass to check state of analysis information. | |
virtual void | dumpPassStructure (unsigned Offset=0) |
template<typename AnalysisType> | |
AnalysisType * | getAnalysisIfAvailable () const |
getAnalysisIfAvailable<AnalysisType>() - Subclasses use this function to get analysis information that might be around, for example to update it. | |
bool | mustPreserveAnalysisID (char &AID) const |
mustPreserveAnalysisID - This method serves the same function as getAnalysisIfAvailable, but works if you just have an AnalysisID. | |
template<typename AnalysisType> | |
AnalysisType & | getAnalysis () const |
getAnalysis<AnalysisType>() - This function is used by subclasses to get to the analysis information that they claim to use by overriding the getAnalysisUsage function. | |
template<typename AnalysisType> | |
AnalysisType & | getAnalysis (Function &F, bool *Changed=nullptr) |
getAnalysis<AnalysisType>() - This function is used by subclasses to get to the analysis information that they claim to use by overriding the getAnalysisUsage function. | |
template<typename AnalysisType> | |
AnalysisType & | getAnalysisID (AnalysisID PI) const |
template<typename AnalysisType> | |
AnalysisType & | getAnalysisID (AnalysisID PI, Function &F, bool *Changed=nullptr) |
Additional Inherited Members | |
Static Public Member Functions inherited from llvm::Pass | |
static const PassInfo * | lookupPassInfo (const void *TI) |
static const PassInfo * | lookupPassInfo (StringRef Arg) |
static Pass * | createPass (AnalysisID ID) |
Protected Member Functions inherited from llvm::MachineFunctionPass | |
MachineFunctionPass (char &ID) | |
virtual MachineFunctionProperties | getRequiredProperties () const |
virtual MachineFunctionProperties | getSetProperties () const |
virtual MachineFunctionProperties | getClearedProperties () const |
Protected Member Functions inherited from llvm::FunctionPass | |
bool | skipFunction (const Function &F) const |
Optional passes call this function to check whether the pass should be skipped. |
Definition at line 540 of file SelectionDAGISel.h.
SelectionDAGISelLegacy::SelectionDAGISelLegacy | ( | char & | ID, |
std::unique_ptr< SelectionDAGISel > | S ) |
Definition at line 335 of file SelectionDAGISel.cpp.
References llvm::PassRegistry::getPassRegistry(), llvm::initializeAAResultsWrapperPassPass(), llvm::initializeBranchProbabilityInfoWrapperPassPass(), llvm::initializeGCModuleInfoPass(), llvm::initializeTargetLibraryInfoWrapperPassPass(), llvm::MachineFunctionPass::MachineFunctionPass(), and llvm::move().
Referenced by llvm::AMDGPUDAGToDAGISelLegacy::AMDGPUDAGToDAGISelLegacy(), llvm::HexagonDAGToDAGISelLegacy::HexagonDAGToDAGISelLegacy(), llvm::LoongArchDAGToDAGISelLegacy::LoongArchDAGToDAGISelLegacy(), llvm::MipsDAGToDAGISelLegacy::MipsDAGToDAGISelLegacy(), llvm::NVPTXDAGToDAGISelLegacy::NVPTXDAGToDAGISelLegacy(), and llvm::RISCVDAGToDAGISelLegacy::RISCVDAGToDAGISelLegacy().
|
overridedefault |
|
overridevirtual |
getAnalysisUsage - Subclasses that override getAnalysisUsage must call this.
For MachineFunctionPasses, calling AU.preservesCFG() indicates that the pass does not modify the MachineBasicBlock CFG.
Reimplemented from llvm::MachineFunctionPass.
Definition at line 391 of file SelectionDAGISel.cpp.
References llvm::AnalysisUsage::addPreserved(), llvm::AnalysisUsage::addRequired(), llvm::MachineFunctionPass::getAnalysisUsage(), llvm::LazyBlockFrequencyInfoPass::getLazyBFIAnalysisUsage(), llvm::None, and UseMBPI.
Referenced by llvm::AMDGPUDAGToDAGISelLegacy::getAnalysisUsage(), llvm::MipsDAGToDAGISelLegacy::getAnalysisUsage(), and llvm::MipsSEDAGToDAGISelLegacy::getAnalysisUsage().
|
overridevirtual |
runOnMachineFunction - This method must be overloaded to perform the desired machine code transformation or analysis.
Implements llvm::MachineFunctionPass.
Definition at line 345 of file SelectionDAGISel.cpp.
References EnableFastISelAbort, llvm::MachineFunction::getFunction(), llvm::MachineFunction::getProperties(), llvm::None, llvm::reportFatalUsageError(), llvm::MachineFunction::setUseDebugInstrRef(), llvm::MachineFunction::shouldUseDebugInstrRef(), and llvm::FunctionPass::skipFunction().
Referenced by llvm::AMDGPUDAGToDAGISelLegacy::runOnMachineFunction().