Go to the documentation of this file.
43 return PassInfoMap.
lookup(TI);
59 assert(Inserted &&
"Pass registered multiple times!");
64 for (
auto *Listener : Listeners)
65 Listener->passRegistered(&PI);
68 ToFree.push_back(std::unique_ptr<const PassInfo>(&PI));
73 for (
auto PassInfoPair : PassInfoMap)
80 PassInfo &Registeree,
bool isDefault,
86 InterfaceInfo = &Registeree;
89 "Trying to join an analysis group that is a normal pass!");
93 assert(ImplementationInfo &&
94 "Must register pass before adding to AnalysisGroup!");
104 "Default implementation for analysis group already specified!");
107 "Cannot specify pass as default if it does not have a default ctor");
113 ToFree.push_back(std::unique_ptr<const PassInfo>(&Registeree));
118 Listeners.push_back(L);
std::lock_guard< SmartRWMutex< mt_only > > SmartScopedWriter
ScopedWriter - RAII acquisition of a writer lock.
const void * getTypeInfo() const
getTypeInfo - Return the id object for the pass...
This is an optimization pass for GlobalISel generic memory operations.
ValueT lookup(const_arg_type_t< KeyT > Val) const
lookup - Return the entry for the specified key, or a default constructed value if no such entry exis...
void enumerateWith(PassRegistrationListener *L)
enumerateWith - Enumerate the registered passes, calling the provided PassRegistrationListener's pass...
PassInfo class - An instance of this class exists for every pass known by the system,...
amdgpu Simplify well known AMD library false FunctionCallee Value * Arg
static PassRegistry * getPassRegistry()
getPassRegistry - Access the global registry object, which is automatically initialized at applicatio...
ManagedStatic - This transparently changes the behavior of global statics to be lazily constructed on...
PassRegistry - This class manages the registration and intitialization of the pass subsystem as appli...
static ManagedStatic< PassRegistry > PassRegistryObj
void removeRegistrationListener(PassRegistrationListener *L)
removeRegistrationListener - Unregister a PassRegistrationListener so that it no longer receives pass...
bool isAnalysisGroup() const
isAnalysisGroup - Return true if this is an analysis group, not a normal pass.
void setNormalCtor(NormalCtor_t Ctor)
auto find(R &&Range, const T &Val)
Provide wrappers to std::find which take ranges instead of having to pass begin/end explicitly.
const std::shared_lock< SmartRWMutex< mt_only > > SmartScopedReader
ScopedReader - RAII acquisition of a reader lock.
StringRef getPassArgument() const
getPassArgument - Return the command line option that may be passed to 'opt' that will cause this pas...
ValueTy lookup(StringRef Key) const
lookup - Return the entry for the specified key, or a default constructed value if no such entry exis...
PassRegistrationListener class - This class is meant to be derived from by clients that are intereste...
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
NormalCtor_t getNormalCtor() const
getNormalCtor - Return a pointer to a function, that when called, creates an instance of the pass and...
StringRef - Represent a constant reference to a string, i.e.
void addRegistrationListener(PassRegistrationListener *L)
addRegistrationListener - Register the given PassRegistrationListener to receive passRegistered() cal...
std::pair< iterator, bool > insert(const std::pair< KeyT, ValueT > &KV)
void addInterfaceImplemented(const PassInfo *ItfPI)
addInterfaceImplemented - This method is called when this pass is registered as a member of an analys...
const PassInfo * getPassInfo(const void *TI) const
getPassInfo - Look up a pass' corresponding PassInfo, indexed by the pass' type identifier (&MyPass::...
virtual void passEnumerate(const PassInfo *)
passEnumerate - Callback function invoked when someone calls enumeratePasses on this PassRegistration...
void registerAnalysisGroup(const void *InterfaceID, const void *PassID, PassInfo &Registeree, bool isDefault, bool ShouldFree=false)
registerAnalysisGroup - Register an analysis group (or a pass implementing
void registerPass(const PassInfo &PI, bool ShouldFree=false)
registerPass - Register a pass (by means of its PassInfo) with the registry.