Mercurial > hg > CbC > CbC_llvm
comparison include/llvm/PassSupport.h @ 83:60c9769439b8 LLVM3.7
LLVM 3.7
author | Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 18 Feb 2015 14:55:36 +0900 |
parents | 54457678186b |
children | afa8332a0e37 |
comparison
equal
deleted
inserted
replaced
78:af83660cff7b | 83:60c9769439b8 |
---|---|
80 } \ | 80 } \ |
81 void llvm::initialize##passName##Pass(PassRegistry &Registry) { \ | 81 void llvm::initialize##passName##Pass(PassRegistry &Registry) { \ |
82 CALL_ONCE_INITIALIZATION(initialize##passName##PassOnce) \ | 82 CALL_ONCE_INITIALIZATION(initialize##passName##PassOnce) \ |
83 } | 83 } |
84 | 84 |
85 #define INITIALIZE_PASS_WITH_OPTIONS(PassName, Arg, Name, Cfg, Analysis) \ | |
86 INITIALIZE_PASS_BEGIN(PassName, Arg, Name, Cfg, Analysis) \ | |
87 PassName::registerOptions(); \ | |
88 INITIALIZE_PASS_END(PassName, Arg, Name, Cfg, Analysis) | |
89 | |
90 #define INITIALIZE_PASS_WITH_OPTIONS_BEGIN(PassName, Arg, Name, Cfg, Analysis) \ | |
91 INITIALIZE_PASS_BEGIN(PassName, Arg, Name, Cfg, Analysis) \ | |
92 PassName::registerOptions(); \ | |
93 | |
85 template<typename PassName> | 94 template<typename PassName> |
86 Pass *callDefaultCtor() { return new PassName(); } | 95 Pass *callDefaultCtor() { return new PassName(); } |
87 | 96 |
88 template <typename PassName> Pass *callTargetMachineCtor(TargetMachine *TM) { | 97 template <typename PassName> Pass *callTargetMachineCtor(TargetMachine *TM) { |
89 return new PassName(TM); | 98 return new PassName(TM); |