class PassRegistry
Declaration
class PassRegistry { /* full declaration omitted */ };
Description
PassRegistry - This class manages the registration and intitialization of the pass subsystem as application startup, and assists the PassManager in resolving pass dependencies. NOTE: PassRegistry is NOT thread-safe. If you want to use LLVM on multiple threads simultaneously, you will need to use a separate PassRegistry on each thread.
Declared at: llvm/include/llvm/PassRegistry.h:38
Member Variables
- private sys::SmartRWMutex<true> Lock
- private llvm::PassRegistry::MapType PassInfoMap
- private llvm::PassRegistry::StringMapType PassInfoStringMap
- private std::vector<std::unique_ptr<const PassInfo>> ToFree
- private std::vector<PassRegistrationListener*> Listeners
Method Overview
- public PassRegistry()
- public void addRegistrationListener(llvm::PassRegistrationListener * L)
- public void enumerateWith(llvm::PassRegistrationListener * L)
- public const llvm::PassInfo * getPassInfo(const void * TI) const
- public const llvm::PassInfo * getPassInfo(llvm::StringRef Arg) const
- public static llvm::PassRegistry * getPassRegistry()
- public void registerAnalysisGroup(const void * InterfaceID, const void * PassID, llvm::PassInfo & Registeree, bool isDefault, bool ShouldFree = false)
- public void registerPass(const llvm::PassInfo & PI, bool ShouldFree = false)
- public void removeRegistrationListener(llvm::PassRegistrationListener * L)
- public ~PassRegistry()
Methods
¶PassRegistry()
PassRegistry()
Declared at: llvm/include/llvm/PassRegistry.h:52
¶void addRegistrationListener(
llvm::PassRegistrationListener* L)
void addRegistrationListener(
llvm::PassRegistrationListener* L)
Description
addRegistrationListener - Register the given PassRegistrationListener to receive passRegistered() callbacks whenever a new pass is registered.
Declared at: llvm/include/llvm/PassRegistry.h:85
Parameters
¶void enumerateWith(
llvm::PassRegistrationListener* L)
void enumerateWith(
llvm::PassRegistrationListener* L)
Description
enumerateWith - Enumerate the registered passes, calling the provided PassRegistrationListener's passEnumerate() callback on each of them.
Declared at: llvm/include/llvm/PassRegistry.h:81
Parameters
¶const llvm::PassInfo* getPassInfo(
const void* TI) const
const llvm::PassInfo* getPassInfo(
const void* TI) const
Description
getPassInfo - Look up a pass' corresponding PassInfo, indexed by the pass' type identifier ( &MyPass ::ID).
Declared at: llvm/include/llvm/PassRegistry.h:62
Parameters
- const void* TI
¶const llvm::PassInfo* getPassInfo(
llvm::StringRef Arg) const
const llvm::PassInfo* getPassInfo(
llvm::StringRef Arg) const
Description
getPassInfo - Look up a pass' corresponding PassInfo, indexed by the pass' argument string.
Declared at: llvm/include/llvm/PassRegistry.h:66
Parameters
- llvm::StringRef Arg
¶static llvm::PassRegistry* getPassRegistry()
static llvm::PassRegistry* getPassRegistry()
Description
getPassRegistry - Access the global registry object, which is automatically initialized at application launch and destroyed by llvm_shutdown.
Declared at: llvm/include/llvm/PassRegistry.h:58
¶void registerAnalysisGroup(
const void* InterfaceID,
const void* PassID,
llvm::PassInfo& Registeree,
bool isDefault,
bool ShouldFree = false)
void registerAnalysisGroup(
const void* InterfaceID,
const void* PassID,
llvm::PassInfo& Registeree,
bool isDefault,
bool ShouldFree = false)
Description
registerAnalysisGroup - Register an analysis group (or a pass implementing
Declared at: llvm/include/llvm/PassRegistry.h:75
Parameters
- const void* InterfaceID
- const void* PassID
- llvm::PassInfo& Registeree
- bool isDefault
- bool ShouldFree = false
¶void registerPass(const llvm::PassInfo& PI,
bool ShouldFree = false)
void registerPass(const llvm::PassInfo& PI,
bool ShouldFree = false)
Description
registerPass - Register a pass (by means of its PassInfo) with the registry. Required in order to use the pass with a PassManager.
Declared at: llvm/include/llvm/PassRegistry.h:70
Parameters
- const llvm::PassInfo& PI
- bool ShouldFree = false
¶void removeRegistrationListener(
llvm::PassRegistrationListener* L)
void removeRegistrationListener(
llvm::PassRegistrationListener* L)
Description
removeRegistrationListener - Unregister a PassRegistrationListener so that it no longer receives passRegistered() callbacks.
Declared at: llvm/include/llvm/PassRegistry.h:89
Parameters
¶~PassRegistry()
~PassRegistry()
Declared at: llvm/include/llvm/PassRegistry.h:53