13#ifndef LLVM_PASSINFO_H
14#define LLVM_PASSINFO_H
38 const bool IsCFGOnlyPass =
false;
39 const bool IsAnalysis;
40 const bool IsAnalysisGroup;
41 std::vector<const PassInfo *> ItfImpl;
48 bool isCFGOnly,
bool is_analysis)
49 : PassName(
name), PassArgument(arg), PassID(pi), IsCFGOnlyPass(isCFGOnly),
50 IsAnalysis(is_analysis), IsAnalysisGroup(
false), NormalCtor(normal) {}
56 : PassName(
name), PassID(pi), IsAnalysis(
false), IsAnalysisGroup(
true) {}
74 bool isPassID(
const void *IDPtr)
const {
return PassID == IDPtr; }
98 "No default implementation found for analysis group!");
100 "Cannot call createPass on PassInfo without default ctor!");
108 ItfImpl.push_back(ItfPI);
print lazy value Lazy Value Info Printer Pass
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
PassInfo class - An instance of this class exists for every pass known by the system,...
PassInfo(StringRef name, const void *pi)
PassInfo ctor - Do not call this directly, this should only be invoked through RegisterPass.
bool isPassID(const void *IDPtr) const
Return true if this PassID implements the specified ID pointer.
PassInfo & operator=(const PassInfo &)=delete
NormalCtor_t getNormalCtor() const
getNormalCtor - Return a pointer to a function, that when called, creates an instance of the pass and...
bool isAnalysisGroup() const
isAnalysisGroup - Return true if this is an analysis group, not a normal pass.
PassInfo(const PassInfo &)=delete
void setNormalCtor(NormalCtor_t Ctor)
void addInterfaceImplemented(const PassInfo *ItfPI)
addInterfaceImplemented - This method is called when this pass is registered as a member of an analys...
const std::vector< const PassInfo * > & getInterfacesImplemented() const
getInterfacesImplemented - Return a list of all of the analysis group interfaces implemented by this ...
PassInfo(StringRef name, StringRef arg, const void *pi, NormalCtor_t normal, bool isCFGOnly, bool is_analysis)
PassInfo ctor - Do not call this directly, this should only be invoked through RegisterPass.
StringRef getPassArgument() const
getPassArgument - Return the command line option that may be passed to 'opt' that will cause this pas...
StringRef getPassName() const
getPassName - Return the friendly name for the pass, never returns null
bool isCFGOnlyPass() const
isCFGOnlyPass - return true if this pass only looks at the CFG for the function.
Pass * createPass() const
createPass() - Use this method to create an instance of this pass.
const void * getTypeInfo() const
getTypeInfo - Return the id object for the pass... TODO : Rename
Pass interface - Implemented by all 'passes'.
StringRef - Represent a constant reference to a string, i.e.
This is an optimization pass for GlobalISel generic memory operations.