LLVM: llvm::CallGraphSCCPass Class Reference (original) (raw)
#include "[llvm/Analysis/CallGraphSCCPass.h](CallGraphSCCPass%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| CallGraphSCCPass (char &pid) | |
| Pass * | createPrinterPass (raw_ostream &OS, const std::string &Banner) const override |
| createPrinterPass - Get a pass that prints the Module corresponding to a CallGraph. | |
| virtual bool | doInitialization (CallGraph &CG) |
| doInitialization - This method is called before the SCC's of the program has been processed, allowing the pass to do initialization as necessary. | |
| virtual bool | runOnSCC (CallGraphSCC &SCC)=0 |
| runOnSCC - This method should be implemented by the subclass to perform whatever action is necessary for the specified SCC. | |
| virtual bool | doFinalization (CallGraph &CG) |
| doFinalization - This method is called after the SCC's of the program has been processed, allowing the pass to do final cleanup as necessary. | |
| void | assignPassManager (PMStack &PMS, PassManagerType PMT) override |
| Assign pass manager to manager this pass. | |
| PassManagerType | getPotentialPassManagerType () const override |
| Return what kind of Pass Manager can manage this pass. | |
| void | getAnalysisUsage (AnalysisUsage &Info) const override |
| getAnalysisUsage - For this class, we declare that we require and preserve the call graph. | |
| 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. | |
| 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 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 | |
| AnalysisType * | getAnalysisIfAvailable () const |
| getAnalysisIfAvailable() - 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 | |
| AnalysisType & | getAnalysis () const |
| getAnalysis() - This function is used by subclasses to get to the analysis information that they claim to use by overriding the getAnalysisUsage function. | |
| template | |
| AnalysisType & | getAnalysis (Function &F, bool *Changed=nullptr) |
| getAnalysis() - This function is used by subclasses to get to the analysis information that they claim to use by overriding the getAnalysisUsage function. | |
| template | |
| AnalysisType & | getAnalysisID (AnalysisID PI) const |
| template | |
| AnalysisType & | getAnalysisID (AnalysisID PI, Function &F, bool *Changed=nullptr) |
Definition at line 35 of file CallGraphSCCPass.h.
| llvm::CallGraphSCCPass::CallGraphSCCPass ( char & pid) | inlineexplicit |
|---|
◆ assignPassManager()
Assign pass manager to manager this pass.
Assign pass manager to manage this pass.
Reimplemented from llvm::Pass.
Definition at line 610 of file CallGraphSCCPass.cpp.
References llvm::PMTopLevelManager::addIndirectPassManager(), assert(), llvm::PMStack::empty(), llvm::PMDataManager::getPassManagerType(), llvm::PMDataManager::getTopLevelManager(), P, llvm::Pass::Pass(), llvm::PMT_CallGraphPassManager, llvm::PMStack::pop(), llvm::PMStack::push(), llvm::PMTopLevelManager::schedulePass(), and llvm::PMStack::top().
◆ createPrinterPass()
◆ doFinalization() [1/2]
| virtual bool llvm::CallGraphSCCPass::doFinalization ( CallGraph & CG) | inlinevirtual |
|---|
doFinalization - This method is called after the SCC's of the program has been processed, allowing the pass to do final cleanup as necessary.
Definition at line 64 of file CallGraphSCCPass.h.
◆ doFinalization() [2/2]
| virtual bool llvm::Pass::doFinalization ( Module & ) | inlinevirtual |
|---|
doFinalization - Virtual method overriden by subclasses to do any necessary clean up after all passes have run.
Reimplemented from llvm::Pass.
Definition at line 132 of file Pass.h.
◆ doInitialization() [1/2]
| virtual bool llvm::CallGraphSCCPass::doInitialization ( CallGraph & CG) | inlinevirtual |
|---|
doInitialization - This method is called before the SCC's of the program has been processed, allowing the pass to do initialization as necessary.
Definition at line 49 of file CallGraphSCCPass.h.
◆ doInitialization() [2/2]
| virtual bool llvm::Pass::doInitialization ( Module & ) | inlinevirtual |
|---|
doInitialization - Virtual method overridden by subclasses to do any necessary initialization before any pass is run.
Reimplemented from llvm::Pass.
Definition at line 128 of file Pass.h.
◆ getAnalysisUsage()
| void CallGraphSCCPass::getAnalysisUsage ( AnalysisUsage & AU) const | overridevirtual |
|---|
◆ getPotentialPassManagerType()
| PassManagerType llvm::CallGraphSCCPass::getPotentialPassManagerType ( ) const | inlineoverridevirtual |
|---|
◆ runOnSCC()
| virtual bool llvm::CallGraphSCCPass::runOnSCC ( CallGraphSCC & SCC) | pure virtual |
|---|
runOnSCC - This method should be implemented by the subclass to perform whatever action is necessary for the specified SCC.
Note that non-recursive (or only self-recursive) functions will have an SCC size of 1, where recursive portions of the call graph will have SCC size > 1.
SCC passes that add or delete functions to the SCC are required to update the SCC list, otherwise stale pointers may be dereferenced.
Implemented in llvm::DummyCGSCCPass.
The documentation for this class was generated from the following files:
- include/llvm/Analysis/CallGraphSCCPass.h
- lib/Analysis/CallGraphSCCPass.cpp