diff options
author | Owen Anderson <resistor@mac.com> | 2010-10-06 20:07:03 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2010-10-06 20:07:03 +0000 |
commit | 5f0d700278b98f00a7f1cd792e10acbb76447be1 (patch) | |
tree | 00e0e5ad8adc4dd1ca39eb686b38c333771bb713 /include/llvm/PassSupport.h | |
parent | 153666c0384c724c1a935be44a1afe0319649e3e (diff) |
Pass initialization functions should take a PassRegistry as a parameter
rather than being fixed to the global registry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115824 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/PassSupport.h')
-rw-r--r-- | include/llvm/PassSupport.h | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/include/llvm/PassSupport.h b/include/llvm/PassSupport.h index 933a1455a5..ac61eb6a07 100644 --- a/include/llvm/PassSupport.h +++ b/include/llvm/PassSupport.h @@ -128,10 +128,10 @@ private: }; #define INITIALIZE_PASS(passName, arg, name, cfg, analysis) \ - void initialize##passName##Pass() { \ + void initialize##passName##Pass(PassRegistry &Registry) { \ PassInfo *PI = new PassInfo(name, arg, & passName ::ID, \ PassInfo::NormalCtor_t(callDefaultCtor< passName >), cfg, analysis); \ - PassRegistry::getPassRegistry()->registerPass(*PI); \ + Registry.registerPass(*PI); \ } \ static RegisterPass<passName> passName ## _info(arg, name, cfg, analysis) @@ -211,14 +211,13 @@ struct RegisterAnalysisGroup : public RegisterAGBase { }; #define INITIALIZE_AG_PASS(passName, agName, arg, name, cfg, analysis, def) \ - void initialize##passName##Pass() { \ + void initialize##passName##Pass(PassRegistry &Registry) { \ PassInfo *PI = new PassInfo(name, arg, & passName ::ID, \ PassInfo::NormalCtor_t(callDefaultCtor< passName >), cfg, analysis); \ - PassRegistry::getPassRegistry()->registerPass(*PI); \ + Registry.registerPass(*PI); \ \ PassInfo *AI = new PassInfo(name, & agName :: ID); \ - PassRegistry::getPassRegistry()->registerAnalysisGroup( \ - & agName ::ID, & passName ::ID, *AI, def); \ + Registry.registerAnalysisGroup(& agName ::ID, & passName ::ID, *AI, def); \ } \ static RegisterPass<passName> passName ## _info(arg, name, cfg, analysis); \ static RegisterAnalysisGroup<agName, def> passName ## _ag(passName ## _info) |