Change UsedPhysRegs from array bool to BitVector to save some space. Setting / gettin...
[oota-llvm.git] / include / llvm / PassSupport.h
index c4d75d52ee15692ed54b6a15b3ff25a4589cff70..7c3c4a9d660376d9d268b2492f29eaf83b39c939 100644 (file)
@@ -137,8 +137,10 @@ struct RegisterPassBase {
   ///
   const PassInfo *getPassInfo() const { return &PIObj; }
 
+  typedef Pass* (*NormalCtor_t)();
+  
   RegisterPassBase(const char *Name, const char *Arg, const std::type_info &TI,
-                   Pass *(*NormalCtor)() = 0, bool CFGOnly = false)
+                   NormalCtor_t NormalCtor = 0, bool CFGOnly = false)
     : PIObj(Name, Arg, TI, NormalCtor, CFGOnly) {
     registerPass();
   }
@@ -164,7 +166,7 @@ struct RegisterPass : public RegisterPassBase {
   // Register Pass using default constructor...
   RegisterPass(const char *PassArg, const char *Name, bool CFGOnly = false)
   : RegisterPassBase(Name, PassArg, typeid(PassName),
-                     callDefaultCtor<PassName>, CFGOnly) {
+                     (RegisterPassBase::NormalCtor_t)callDefaultCtor<PassName>, CFGOnly) {
   }
 };