37 const std::string &Banner)
const {
63 return "Unnamed pass: implement Pass::getPassName()";
100 assert(!Resolver &&
"Resolver is already set");
109 O <<
"Pass::print not implemented for pass: '" <<
getPassName() <<
"'!\n";
132 const std::string &Banner)
const {
145 const std::string &Banner)
const {
180 "No default implementation found for analysis group!");
182 "Cannot call createPass on PassInfo without default ctor!");
193 const void *PassID,
bool isDefault)
231 GetCFGOnlyPasses(
VectorType &L) : CFGOnlyList(L) {}
252 GetCFGOnlyPasses(Preserved).enumeratePasses();
void push_back(const T &Elt)
void registerAnalysisGroup(const void *InterfaceID, const void *PassID, PassInfo &Registeree, bool isDefault, bool ShouldFree=false)
registerAnalysisGroup - Register an analysis group (or a pass implementing
AnalysisUsage & addPreserved()
static PassRegistry * getPassRegistry()
void enumerateWith(PassRegistrationListener *L)
const char * getPassName() const
virtual PMDataManager * getAsPMDataManager()
virtual void dumpPassStructure(unsigned Offset=0)
The main container class for the LLVM Intermediate Representation.
AnalysisID getPassID() const
getPassID - Return the PassID number that corresponds to this pass.
virtual void releaseMemory()
virtual void verifyAnalysis() const
virtual void getAnalysisUsage(AnalysisUsage &) const
virtual bool doInitialization(Function &)
raw_ostream & indent(unsigned NumSpaces)
indent - Insert 'NumSpaces' spaces.
virtual const char * getPassName() const
bool isCFGOnlyPass() const
const void * getTypeInfo() const
Pass * createPrinterPass(raw_ostream &O, const std::string &Banner) const
createPrinterPass - Get a module printer pass.
ModulePass * createPrintModulePass(raw_ostream *OS, bool DeleteStream=false, const std::string &Banner="")
PassRegistrationListener()
virtual void preparePassManager(PMStack &)
Check if available pass managers are suitable for this pass or not.
virtual void initializePass()
void setResolver(AnalysisResolver *AR)
bool isAnalysisGroup() const
void removeRegistrationListener(PassRegistrationListener *L)
bool mustPreserveAnalysisID(char &AID) const
virtual PassManagerType getPotentialPassManagerType() const
Return what kind of Pass Manager can manage this pass.
ID
LLVM Calling Convention Representation.
Pass * getAnalysisIfAvailable(AnalysisID ID, bool Direction) const
virtual bool doFinalization(Function &)
virtual ImmutablePass * getAsImmutablePass()
static const PassInfo * lookupPassInfo(const void *TI)
virtual ~PassRegistrationListener()
Pass * createPass() const
createPass() - Use this method to create an instance of this pass.
void addRegistrationListener(PassRegistrationListener *L)
FunctionPass * createPrintFunctionPass(const std::string &Banner, raw_ostream *OS, bool DeleteStream=false)
Pass * createPrinterPass(raw_ostream &O, const std::string &Banner) const
createPrinterPass - Get a basic block printer pass.
virtual PassManagerType getPotentialPassManagerType() const
Return what kind of Pass Manager can manage this pass.
AnalysisUsage & addRequiredID(const void *ID)
virtual ~PassNameParser()
raw_ostream & dbgs()
dbgs - Return a circular-buffered debug stream.
BasicBlockPass * createPrintBasicBlockPass(raw_ostream *OS, bool DeleteStream=false, const std::string &Banner="")
AnalysisUsage & addRequiredTransitiveID(char &ID)
const PassInfo * getPassInfo(const void *TI) const
static Pass * createPass(AnalysisID ID)
virtual PassManagerType getPotentialPassManagerType() const
Return what kind of Pass Manager can manage this pass.
virtual void * getAdjustedAnalysisPointer(AnalysisID ID)
virtual void print(raw_ostream &O, const Module *M) const
Pass * createPrinterPass(raw_ostream &O, const std::string &Banner) const
createPrinterPass - Get a function printer pass.
RegisterAGBase(const char *Name, const void *InterfaceID, const void *PassID=0, bool isDefault=false)
virtual PassManagerType getPotentialPassManagerType() const
Return what kind of Pass Manager can manage this pass.