|
LLVM 22.0.0git
|
A module pass which iterates global variables in the module and annotates their section prefixes based on profile-driven analysis. More...
Public Member Functions | |
| StaticDataAnnotator () | |
| void | getAnalysisUsage (AnalysisUsage &AU) const override |
| getAnalysisUsage - This function should be overriden by passes that need analysis information to do their job. | |
| StringRef | getPassName () const override |
| getPassName - Return a nice clean name for a pass. | |
| bool | runOnModule (Module &M) override |
| runOnModule - Virtual method overriden by subclasses to process the module being operated on. | |
| Public Member Functions inherited from llvm::ModulePass | |
| ModulePass (char &pid) | |
| ~ModulePass () override | |
| Pass * | createPrinterPass (raw_ostream &OS, const std::string &Banner) const override |
| createPrinterPass - Get a module printer pass. | |
| void | assignPassManager (PMStack &PMS, PassManagerType T) override |
| Find appropriate Module 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 |
| 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 | doInitialization (Module &) |
| doInitialization - Virtual method overridden by subclasses to do any necessary initialization before any pass is run. | |
| 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) |
Public Attributes | |
| StaticDataProfileInfo * | SDPI = nullptr |
| const ProfileSummaryInfo * | PSI = nullptr |
Static Public Attributes | |
| static char | ID = 0 |
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::ModulePass | |
| bool | skipModule (const Module &M) const |
| Optional passes call this function to check whether the pass should be skipped. | |
A module pass which iterates global variables in the module and annotates their section prefixes based on profile-driven analysis.
Definition at line 45 of file StaticDataAnnotator.cpp.
|
inline |
Definition at line 52 of file StaticDataAnnotator.cpp.
References llvm::PassRegistry::getPassRegistry(), ID, llvm::initializeStaticDataAnnotatorPass(), and llvm::ModulePass::ModulePass().
|
inlineoverridevirtual |
getAnalysisUsage - This function should be overriden by passes that need analysis information to do their job.
If a pass specifies that it uses a particular analysis result to this function, it can then use the getAnalysis<AnalysisType>() function, below.
Reimplemented from llvm::Pass.
Definition at line 56 of file StaticDataAnnotator.cpp.
References llvm::AnalysisUsage::addRequired(), llvm::Pass::getAnalysisUsage(), and llvm::AnalysisUsage::setPreservesAll().
|
inlineoverridevirtual |
getPassName - Return a nice clean name for a pass.
This usually implemented in terms of the name that is registered by one of the Registration templates, but can be overloaded directly.
Reimplemented from llvm::Pass.
Definition at line 63 of file StaticDataAnnotator.cpp.
runOnModule - Virtual method overriden by subclasses to process the module being operated on.
Implements llvm::ModulePass.
Definition at line 68 of file StaticDataAnnotator.cpp.
References Changed, llvm::Pass::getAnalysis(), llvm::memprof::IsAnnotationOK(), PSI, and SDPI.
|
static |
Definition at line 47 of file StaticDataAnnotator.cpp.
Referenced by StaticDataAnnotator().
| const ProfileSummaryInfo* StaticDataAnnotator::PSI = nullptr |
Definition at line 50 of file StaticDataAnnotator.cpp.
Referenced by runOnModule().
| StaticDataProfileInfo* StaticDataAnnotator::SDPI = nullptr |
Definition at line 49 of file StaticDataAnnotator.cpp.
Referenced by runOnModule().