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 | b93cf04d9afd74d6c02264df129e494f88a9e55a (patch) | |
| tree | 68700b5322cd9e72310f77e5c331d16070fe0657 /llvm/include | |
| parent | 1a5d93d589a5fa4713397d54d1bb027bfb355bf9 (diff) | |
| download | bcm5719-llvm-b93cf04d9afd74d6c02264df129e494f88a9e55a.tar.gz bcm5719-llvm-b93cf04d9afd74d6c02264df129e494f88a9e55a.zip | |
Pass initialization functions should take a PassRegistry as a parameter
rather than being fixed to the global registry.
llvm-svn: 115824
Diffstat (limited to 'llvm/include')
| -rw-r--r-- | llvm/include/llvm/PassSupport.h | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/llvm/include/llvm/PassSupport.h b/llvm/include/llvm/PassSupport.h index 933a1455a52..ac61eb6a073 100644 --- a/llvm/include/llvm/PassSupport.h +++ b/llvm/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) |

