LLVM API Documentation

Public Member Functions
llvm::CallGraphSCCPass Class Reference

#include <CallGraphSCCPass.h>

Inheritance diagram for llvm::CallGraphSCCPass:
Inheritance graph
[legend]
Collaboration diagram for llvm::CallGraphSCCPass:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 CallGraphSCCPass (char &pid)
PasscreatePrinterPass (raw_ostream &O, const std::string &Banner) const override
virtual bool doInitialization (CallGraph &CG)
virtual bool runOnSCC (CallGraphSCC &SCC)=0
virtual bool doFinalization (CallGraph &CG)
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

Detailed Description

Definition at line 34 of file CallGraphSCCPass.h.


Constructor & Destructor Documentation

llvm::CallGraphSCCPass::CallGraphSCCPass ( char &  pid) [inline, explicit]

Definition at line 36 of file CallGraphSCCPass.h.


Member Function Documentation

void CallGraphSCCPass::assignPassManager ( PMStack PMS,
PassManagerType  PMT 
) [override, virtual]
Pass * CallGraphSCCPass::createPrinterPass ( raw_ostream O,
const std::string &  Banner 
) const [override, virtual]

createPrinterPass - Get a pass that prints the Module corresponding to a CallGraph.

Implements llvm::Pass.

Definition at line 619 of file CallGraphSCCPass.cpp.

virtual bool llvm::CallGraphSCCPass::doFinalization ( CallGraph CG) [inline, virtual]

doFinalization - This method is called after the SCC's of the program has been processed, allowing the pass to do final cleanup as necessary.

Reimplemented in llvm::Inliner.

Definition at line 64 of file CallGraphSCCPass.h.

virtual bool llvm::CallGraphSCCPass::doInitialization ( CallGraph CG) [inline, virtual]

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 48 of file CallGraphSCCPass.h.

void CallGraphSCCPass::getAnalysisUsage ( AnalysisUsage AU) const [override, virtual]

getAnalysisUsage - For this class, we declare that we require and preserve the call graph. If the derived class implements this method, it should always explicitly call the implementation here.

Reimplemented from llvm::Pass.

Reimplemented in llvm::InlineCostAnalysis, and llvm::Inliner.

Definition at line 577 of file CallGraphSCCPass.cpp.

References llvm::AnalysisUsage::addPreserved(), and llvm::AnalysisUsage::addRequired().

Return what kind of Pass Manager can manage this pass.

Reimplemented from llvm::Pass.

Definition at line 72 of file CallGraphSCCPass.h.

References llvm::PMT_CallGraphPassManager.

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::InlineCostAnalysis, and llvm::Inliner.


The documentation for this class was generated from the following files: