class RegisterAGBase
Declaration
class RegisterAGBase : public PassInfo { /* full declaration omitted */ };
Description
RegisterAnalysisGroup - Register a Pass as a member of an analysis _group_. Analysis groups are used to define an interface (which need not derive from Pass) that is required by passes to do their job. Analysis Groups differ from normal analyses because any available implementation of the group will be used if it is available. If no analysis implementing the interface is available, a default implementation is created and added. A pass registers itself as the default implementation by specifying 'true' as the second template argument of this class. In addition to registering itself as an analysis group member, a pass must register itself normally as well. Passes may be members of multiple groups and may still be "required" specifically by name. The actual interface may also be registered as well (by not specifying the second template argument). The interface should be registered to associate a nice name with the interface.
Declared at: llvm/include/llvm/PassSupport.h:123
Inherits from: PassInfo
Member Variables
Method Overview
- public RegisterAGBase(llvm::StringRef Name, const void * InterfaceID, const void * PassID = nullptr, bool isDefault = false)
Inherited from PassInfo:
- public addInterfaceImplemented
- public createPass
- public getInterfacesImplemented
- public getNormalCtor
- public getPassArgument
- public getPassName
- public getTypeInfo
- public isAnalysis
- public isAnalysisGroup
- public isCFGOnlyPass
- public isPassID
- public setNormalCtor
Methods
ΒΆRegisterAGBase(llvm::StringRef Name,
const void* InterfaceID,
const void* PassID = nullptr,
bool isDefault = false)
RegisterAGBase(llvm::StringRef Name,
const void* InterfaceID,
const void* PassID = nullptr,
bool isDefault = false)
Declared at: llvm/include/llvm/PassSupport.h:125
Parameters
- llvm::StringRef Name
- const void* InterfaceID
- const void* PassID = nullptr
- bool isDefault = false