LLVM API Documentation
#include <PassSupport.h>
Inheritance diagram for llvm::RegisterAGBase:
Public Member Functions | |
~RegisterAGBase () | |
Protected Member Functions | |
RegisterAGBase (const std::type_info &Interface, const std::type_info *Pass=0, bool isDefault=false) | |
void | setGroupName (const char *Name) |
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 third 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.
Definition at line 298 of file PassSupport.h.
RegisterAGBase::RegisterAGBase | ( | const std::type_info & | Interface, | |
const std::type_info * | Pass = 0 , |
|||
bool | isDefault = false | |||
) | [protected] |
Definition at line 384 of file Pass.cpp.
References llvm::PassInfo::addInterfaceImplemented(), llvm::PassInfo::AnalysisGroup, llvm::PassInfo::getNormalCtor(), llvm::PassInfo::getPassType(), llvm::Pass::lookupPassInfo(), llvm::RegisterPassBase::PIObj, llvm::RegisterPassBase::registerPass(), and llvm::PassInfo::setNormalCtor().
RegisterAGBase::~RegisterAGBase | ( | ) |
Definition at line 432 of file Pass.cpp.
References AnalysisGroupInfo::DefaultImpl, AnalysisGroupInfo::Implementations, llvm::RegisterPassBase::PIObj, and llvm::RegisterPassBase::unregisterPass().
void RegisterAGBase::setGroupName | ( | const char * | Name | ) | [protected] |
Definition at line 427 of file Pass.cpp.
References llvm::PassInfo::getPassName(), and llvm::PassInfo::setPassName().
Referenced by llvm::RegisterAnalysisGroup< Interface, void, false >::RegisterAnalysisGroup().