Conversely, Analysis-implementations do NOT need to initialize the AnalysisGroup. It will only matter when

someone tries to require that AG, in which case it is the requester's responsibility to initialize it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116442 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Owen Anderson 2010-10-13 21:55:07 +00:00
parent 325e264355
commit 139788fe6f

View File

@ -251,7 +251,6 @@ struct RegisterAnalysisGroup : public RegisterAGBase {
#define INITIALIZE_AG_PASS(passName, agName, arg, name, cfg, analysis, def) \
static void* initialize##passName##PassOnce(PassRegistry &Registry) { \
initialize##agName##AnalysisGroup(Registry); \
PassInfo *PI = new PassInfo(name, arg, & passName ::ID, \
PassInfo::NormalCtor_t(callDefaultCtor< passName >), cfg, analysis); \
Registry.registerPass(*PI); \
@ -268,8 +267,7 @@ struct RegisterAnalysisGroup : public RegisterAGBase {
static RegisterAnalysisGroup<agName, def> passName ## _ag(passName ## _info);
#define INITIALIZE_AG_PASS_BEGIN(passName, agName, arg, n, cfg, analysis, def) \
static void* initialize##passName##PassOnce(PassRegistry &Registry) { \
initialize##agName##AnalysisGroup(Registry);
static void* initialize##passName##PassOnce(PassRegistry &Registry) {
#define INITIALIZE_AG_PASS_END(passName, agName, arg, n, cfg, analysis, def) \
PassInfo *PI = new PassInfo(n, arg, & passName ::ID, \