eliminate RegisterOpt.  It does the same thing as RegisterPass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29925 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/AliasAnalysisCounter.cpp b/lib/Analysis/AliasAnalysisCounter.cpp
index 8c8cb3e..562b4f5 100644
--- a/lib/Analysis/AliasAnalysisCounter.cpp
+++ b/lib/Analysis/AliasAnalysisCounter.cpp
@@ -109,7 +109,7 @@
     }
   };
 
-  RegisterOpt<AliasAnalysisCounter>
+  RegisterPass<AliasAnalysisCounter>
   X("count-aa", "Count Alias Analysis Query Responses");
   RegisterAnalysisGroup<AliasAnalysis, AliasAnalysisCounter> Y;
 }
diff --git a/lib/Analysis/AliasAnalysisEvaluator.cpp b/lib/Analysis/AliasAnalysisEvaluator.cpp
index f42fde8..9f5a46d 100644
--- a/lib/Analysis/AliasAnalysisEvaluator.cpp
+++ b/lib/Analysis/AliasAnalysisEvaluator.cpp
@@ -70,7 +70,7 @@
     bool doFinalization(Module &M);
   };
 
-  RegisterOpt<AAEval>
+  RegisterPass<AAEval>
   X("aa-eval", "Exhaustive Alias Analysis Precision Evaluator");
 }
 
diff --git a/lib/Analysis/AliasSetTracker.cpp b/lib/Analysis/AliasSetTracker.cpp
index 16c6521..6d09b65 100644
--- a/lib/Analysis/AliasSetTracker.cpp
+++ b/lib/Analysis/AliasSetTracker.cpp
@@ -568,5 +568,5 @@
       return false;
     }
   };
-  RegisterOpt<AliasSetPrinter> X("print-alias-sets", "Alias Set Printer");
+  RegisterPass<AliasSetPrinter> X("print-alias-sets", "Alias Set Printer");
 }
diff --git a/lib/Analysis/BasicAliasAnalysis.cpp b/lib/Analysis/BasicAliasAnalysis.cpp
index e2b8ed1..2c5fc81 100644
--- a/lib/Analysis/BasicAliasAnalysis.cpp
+++ b/lib/Analysis/BasicAliasAnalysis.cpp
@@ -72,7 +72,7 @@
   };
 
   // Register this pass...
-  RegisterOpt<NoAA>
+  RegisterPass<NoAA>
   U("no-aa", "No Alias Analysis (always returns 'may' alias)");
 
   // Declare that we implement the AliasAnalysis interface
@@ -117,7 +117,7 @@
   };
 
   // Register this pass...
-  RegisterOpt<BasicAliasAnalysis>
+  RegisterPass<BasicAliasAnalysis>
   X("basicaa", "Basic Alias Analysis (default AA impl)");
 
   // Declare that we implement the AliasAnalysis interface
diff --git a/lib/Analysis/DataStructure/DataStructureAA.cpp b/lib/Analysis/DataStructure/DataStructureAA.cpp
index 1ea1d88..bbb2ba2 100644
--- a/lib/Analysis/DataStructure/DataStructureAA.cpp
+++ b/lib/Analysis/DataStructure/DataStructureAA.cpp
@@ -96,7 +96,7 @@
   };
 
   // Register the pass...
-  RegisterOpt<DSAA> X("ds-aa", "Data Structure Graph Based Alias Analysis");
+  RegisterPass<DSAA> X("ds-aa", "Data Structure Graph Based Alias Analysis");
 
   // Register as an implementation of AliasAnalysis
   RegisterAnalysisGroup<AliasAnalysis, DSAA> Y;
diff --git a/lib/Analysis/DataStructure/DataStructureOpt.cpp b/lib/Analysis/DataStructure/DataStructureOpt.cpp
index c464aee..5674883 100644
--- a/lib/Analysis/DataStructure/DataStructureOpt.cpp
+++ b/lib/Analysis/DataStructure/DataStructureOpt.cpp
@@ -47,7 +47,7 @@
     bool OptimizeGlobals(Module &M);
   };
 
-  RegisterOpt<DSOpt> X("ds-opt", "DSA-based simple optimizations");
+  RegisterPass<DSOpt> X("ds-opt", "DSA-based simple optimizations");
 }
 
 ModulePass *llvm::createDSOptPass() { return new DSOpt(); }
diff --git a/lib/Analysis/DataStructure/Steensgaard.cpp b/lib/Analysis/DataStructure/Steensgaard.cpp
index 8a8391f..8a98022 100644
--- a/lib/Analysis/DataStructure/Steensgaard.cpp
+++ b/lib/Analysis/DataStructure/Steensgaard.cpp
@@ -73,8 +73,8 @@
   };
 
   // Register the pass...
-  RegisterOpt<Steens> X("steens-aa",
-                        "Steensgaard's alias analysis (DSGraph based)");
+  RegisterPass<Steens> X("steens-aa",
+                         "Steensgaard's alias analysis (DSGraph based)");
 
   // Register as an implementation of AliasAnalysis
   RegisterAnalysisGroup<AliasAnalysis, Steens> Y;
diff --git a/lib/Analysis/IPA/Andersens.cpp b/lib/Analysis/IPA/Andersens.cpp
index 1fc70e6..bc80f5b 100644
--- a/lib/Analysis/IPA/Andersens.cpp
+++ b/lib/Analysis/IPA/Andersens.cpp
@@ -336,8 +336,8 @@
     void visitInstruction(Instruction &I);
   };
 
-  RegisterOpt<Andersens> X("anders-aa",
-                           "Andersen's Interprocedural Alias Analysis");
+  RegisterPass<Andersens> X("anders-aa",
+                            "Andersen's Interprocedural Alias Analysis");
   RegisterAnalysisGroup<AliasAnalysis, Andersens> Y;
 }
 
diff --git a/lib/Analysis/IPA/CallGraph.cpp b/lib/Analysis/IPA/CallGraph.cpp
index 23a7599..8836807 100644
--- a/lib/Analysis/IPA/CallGraph.cpp
+++ b/lib/Analysis/IPA/CallGraph.cpp
@@ -182,7 +182,7 @@
 };
 
 RegisterAnalysisGroup<CallGraph> X("Call Graph");
-RegisterOpt<BasicCallGraph> Y("basiccg", "Basic CallGraph Construction");
+RegisterPass<BasicCallGraph> Y("basiccg", "Basic CallGraph Construction");
 RegisterAnalysisGroup<CallGraph, BasicCallGraph, true> Z;
 
 } //End anonymous namespace
diff --git a/lib/Analysis/IPA/GlobalsModRef.cpp b/lib/Analysis/IPA/GlobalsModRef.cpp
index 4765b09..6739dfb 100644
--- a/lib/Analysis/IPA/GlobalsModRef.cpp
+++ b/lib/Analysis/IPA/GlobalsModRef.cpp
@@ -135,8 +135,8 @@
                              std::vector<Function*> &Writers);
   };
 
-  RegisterOpt<GlobalsModRef> X("globalsmodref-aa",
-                               "Simple mod/ref analysis for globals");
+  RegisterPass<GlobalsModRef> X("globalsmodref-aa",
+                                "Simple mod/ref analysis for globals");
   RegisterAnalysisGroup<AliasAnalysis, GlobalsModRef> Y;
 }
 
diff --git a/lib/Analysis/LoadValueNumbering.cpp b/lib/Analysis/LoadValueNumbering.cpp
index 7169b3c..bac80c8 100644
--- a/lib/Analysis/LoadValueNumbering.cpp
+++ b/lib/Analysis/LoadValueNumbering.cpp
@@ -81,7 +81,7 @@
   };
 
   // Register this pass...
-  RegisterOpt<LoadVN> X("load-vn", "Load Value Numbering");
+  RegisterPass<LoadVN> X("load-vn", "Load Value Numbering");
 
   // Declare that we implement the ValueNumbering interface
   RegisterAnalysisGroup<ValueNumbering, LoadVN> Y;
diff --git a/lib/Analysis/ProfileInfo.cpp b/lib/Analysis/ProfileInfo.cpp
index fa3af80..b8ab88b 100644
--- a/lib/Analysis/ProfileInfo.cpp
+++ b/lib/Analysis/ProfileInfo.cpp
@@ -85,7 +85,7 @@
   struct NoProfileInfo : public ImmutablePass, public ProfileInfo {};
 
   // Register this pass...
-  RegisterOpt<NoProfileInfo>
+  RegisterPass<NoProfileInfo>
   X("no-profile", "No Profile Information");
 
   // Declare that we implement the ProfileInfo interface
diff --git a/lib/Analysis/ProfileInfoLoaderPass.cpp b/lib/Analysis/ProfileInfoLoaderPass.cpp
index 354c871..57e3627 100644
--- a/lib/Analysis/ProfileInfoLoaderPass.cpp
+++ b/lib/Analysis/ProfileInfoLoaderPass.cpp
@@ -49,7 +49,7 @@
     virtual bool runOnModule(Module &M);
   };
 
-  RegisterOpt<LoaderPass>
+  RegisterPass<LoaderPass>
   X("profile-loader", "Load profile information from llvmprof.out");
 
   RegisterAnalysisGroup<ProfileInfo, LoaderPass> Y;
diff --git a/lib/Analysis/ValueNumbering.cpp b/lib/Analysis/ValueNumbering.cpp
index c534bba..fb3bed0 100644
--- a/lib/Analysis/ValueNumbering.cpp
+++ b/lib/Analysis/ValueNumbering.cpp
@@ -60,7 +60,7 @@
   };
 
   // Register this pass...
-  RegisterOpt<BasicVN>
+  RegisterPass<BasicVN>
   X("basicvn", "Basic Value Numbering (default GVN impl)");
 
   // Declare that we implement the ValueNumbering interface
diff --git a/lib/CodeGen/UnreachableBlockElim.cpp b/lib/CodeGen/UnreachableBlockElim.cpp
index fe33484..951deb6 100644
--- a/lib/CodeGen/UnreachableBlockElim.cpp
+++ b/lib/CodeGen/UnreachableBlockElim.cpp
@@ -35,7 +35,7 @@
   class VISIBILITY_HIDDEN UnreachableBlockElim : public FunctionPass {
     virtual bool runOnFunction(Function &F);
   };
-  RegisterOpt<UnreachableBlockElim>
+  RegisterPass<UnreachableBlockElim>
   X("unreachableblockelim", "Remove unreachable blocks from the CFG");
 }
 
diff --git a/lib/Transforms/Hello/Hello.cpp b/lib/Transforms/Hello/Hello.cpp
index 804c3a7..cfa879a 100644
--- a/lib/Transforms/Hello/Hello.cpp
+++ b/lib/Transforms/Hello/Hello.cpp
@@ -34,7 +34,7 @@
       return false;
     }
   };
-  RegisterOpt<Hello> X("hello", "Hello World Pass");
+  RegisterPass<Hello> X("hello", "Hello World Pass");
 
   // Hello2 - The second implementation with getAnalysisUsage implemented.
   struct Hello2 : public FunctionPass {
@@ -52,5 +52,6 @@
       AU.setPreservesAll();
     };
   };
-  RegisterOpt<Hello2> Y("hello2", "Hello World Pass (with getAnalysisUsage implemented)");
+  RegisterPass<Hello2> Y("hello2",
+                        "Hello World Pass (with getAnalysisUsage implemented)");
 }
diff --git a/lib/Transforms/IPO/ArgumentPromotion.cpp b/lib/Transforms/IPO/ArgumentPromotion.cpp
index 960e36b..5183d43 100644
--- a/lib/Transforms/IPO/ArgumentPromotion.cpp
+++ b/lib/Transforms/IPO/ArgumentPromotion.cpp
@@ -72,8 +72,8 @@
     Function *DoPromotion(Function *F, std::vector<Argument*> &ArgsToPromote);
   };
 
-  RegisterOpt<ArgPromotion> X("argpromotion",
-                              "Promote 'by reference' arguments to scalars");
+  RegisterPass<ArgPromotion> X("argpromotion",
+                               "Promote 'by reference' arguments to scalars");
 }
 
 ModulePass *llvm::createArgumentPromotionPass() {
diff --git a/lib/Transforms/IPO/ConstantMerge.cpp b/lib/Transforms/IPO/ConstantMerge.cpp
index 220d0d8..aca42fe 100644
--- a/lib/Transforms/IPO/ConstantMerge.cpp
+++ b/lib/Transforms/IPO/ConstantMerge.cpp
@@ -33,7 +33,7 @@
     bool runOnModule(Module &M);
   };
 
-  RegisterOpt<ConstantMerge> X("constmerge","Merge Duplicate Global Constants");
+  RegisterPass<ConstantMerge>X("constmerge","Merge Duplicate Global Constants");
 }
 
 ModulePass *llvm::createConstantMergePass() { return new ConstantMerge(); }
diff --git a/lib/Transforms/IPO/DeadArgumentElimination.cpp b/lib/Transforms/IPO/DeadArgumentElimination.cpp
index e1feed9..08d92a5 100644
--- a/lib/Transforms/IPO/DeadArgumentElimination.cpp
+++ b/lib/Transforms/IPO/DeadArgumentElimination.cpp
@@ -93,7 +93,7 @@
 
     void RemoveDeadArgumentsFromFunction(Function *F);
   };
-  RegisterOpt<DAE> X("deadargelim", "Dead Argument Elimination");
+  RegisterPass<DAE> X("deadargelim", "Dead Argument Elimination");
 
   /// DAH - DeadArgumentHacking pass - Same as dead argument elimination, but
   /// deletes arguments to functions which are external.  This is only for use
diff --git a/lib/Transforms/IPO/DeadTypeElimination.cpp b/lib/Transforms/IPO/DeadTypeElimination.cpp
index 005d6bd..57e5fa3 100644
--- a/lib/Transforms/IPO/DeadTypeElimination.cpp
+++ b/lib/Transforms/IPO/DeadTypeElimination.cpp
@@ -36,7 +36,7 @@
       AU.addRequired<FindUsedTypes>();
     }
   };
-  RegisterOpt<DTE> X("deadtypeelim", "Dead Type Elimination");
+  RegisterPass<DTE> X("deadtypeelim", "Dead Type Elimination");
   Statistic<>
   NumKilled("deadtypeelim", "Number of unused typenames removed from symtab");
 }
diff --git a/lib/Transforms/IPO/FunctionResolution.cpp b/lib/Transforms/IPO/FunctionResolution.cpp
index d8b1a86..a514b92 100644
--- a/lib/Transforms/IPO/FunctionResolution.cpp
+++ b/lib/Transforms/IPO/FunctionResolution.cpp
@@ -43,7 +43,7 @@
 
     bool runOnModule(Module &M);
   };
-  RegisterOpt<FunctionResolvingPass> X("funcresolve", "Resolve Functions");
+  RegisterPass<FunctionResolvingPass> X("funcresolve", "Resolve Functions");
 }
 
 ModulePass *llvm::createFunctionResolvingPass() {
@@ -314,7 +314,8 @@
       Globals[F->getName()].push_back(F);
   }
 
-  for (Module::global_iterator I = M.global_begin(), E = M.global_end(); I != E; ) {
+  for (Module::global_iterator I = M.global_begin(), E = M.global_end();
+       I != E; ) {
     GlobalVariable *GV = I++;
     if (GV->use_empty() && GV->isExternal()) {
       M.getGlobalList().erase(GV);
@@ -346,7 +347,8 @@
       ++I;
     }
 
-  for (Module::global_iterator I = M.global_begin(), E = M.global_end(); I != E; )
+  for (Module::global_iterator I = M.global_begin(), E = M.global_end();
+       I != E; )
     if (I->isExternal() && I->use_empty()) {
       GlobalVariable *GV = I;
       ++I;
diff --git a/lib/Transforms/IPO/GlobalDCE.cpp b/lib/Transforms/IPO/GlobalDCE.cpp
index 072cef2..07296cf 100644
--- a/lib/Transforms/IPO/GlobalDCE.cpp
+++ b/lib/Transforms/IPO/GlobalDCE.cpp
@@ -44,7 +44,7 @@
     bool SafeToDestroyConstant(Constant* C);
     bool RemoveUnusedGlobalValue(GlobalValue &GV);
   };
-  RegisterOpt<GlobalDCE> X("globaldce", "Dead Global Elimination");
+  RegisterPass<GlobalDCE> X("globaldce", "Dead Global Elimination");
 }
 
 ModulePass *llvm::createGlobalDCEPass() { return new GlobalDCE(); }
diff --git a/lib/Transforms/IPO/GlobalOpt.cpp b/lib/Transforms/IPO/GlobalOpt.cpp
index 0521779..8324b43 100644
--- a/lib/Transforms/IPO/GlobalOpt.cpp
+++ b/lib/Transforms/IPO/GlobalOpt.cpp
@@ -60,10 +60,10 @@
     bool OptimizeFunctions(Module &M);
     bool OptimizeGlobalVars(Module &M);
     bool OptimizeGlobalCtorsList(GlobalVariable *&GCL);
-    bool ProcessInternalGlobal(GlobalVariable *GV, Module::global_iterator &GVI);
+    bool ProcessInternalGlobal(GlobalVariable *GV,Module::global_iterator &GVI);
   };
 
-  RegisterOpt<GlobalOpt> X("globalopt", "Global Variable Optimizer");
+  RegisterPass<GlobalOpt> X("globalopt", "Global Variable Optimizer");
 }
 
 ModulePass *llvm::createGlobalOptimizerPass() { return new GlobalOpt(); }
@@ -800,7 +800,8 @@
 // OptimizeOnceStoredGlobal - Try to optimize globals based on the knowledge
 // that only one value (besides its initializer) is ever stored to the global.
 static bool OptimizeOnceStoredGlobal(GlobalVariable *GV, Value *StoredOnceVal,
-                                     Module::global_iterator &GVI, TargetData &TD) {
+                                     Module::global_iterator &GVI,
+                                     TargetData &TD) {
   if (CastInst *CI = dyn_cast<CastInst>(StoredOnceVal))
     StoredOnceVal = CI->getOperand(0);
   else if (GetElementPtrInst *GEPI =dyn_cast<GetElementPtrInst>(StoredOnceVal)){
diff --git a/lib/Transforms/IPO/IPConstantPropagation.cpp b/lib/Transforms/IPO/IPConstantPropagation.cpp
index 02395b5..4713fb6 100644
--- a/lib/Transforms/IPO/IPConstantPropagation.cpp
+++ b/lib/Transforms/IPO/IPConstantPropagation.cpp
@@ -28,7 +28,7 @@
   Statistic<> NumArgumentsProped("ipconstprop",
                                  "Number of args turned into constants");
   Statistic<> NumReturnValProped("ipconstprop",
-                                 "Number of return values turned into constants");
+                              "Number of return values turned into constants");
 
   /// IPCP - The interprocedural constant propagation pass
   ///
@@ -38,7 +38,7 @@
     bool PropagateConstantsIntoArguments(Function &F);
     bool PropagateConstantReturn(Function &F);
   };
-  RegisterOpt<IPCP> X("ipconstprop", "Interprocedural constant propagation");
+  RegisterPass<IPCP> X("ipconstprop", "Interprocedural constant propagation");
 }
 
 ModulePass *llvm::createIPConstantPropagationPass() { return new IPCP(); }
@@ -69,7 +69,7 @@
 /// constant in for an argument, propagate that constant in as the argument.
 ///
 bool IPCP::PropagateConstantsIntoArguments(Function &F) {
-  if (F.arg_empty() || F.use_empty()) return false;  // No arguments?  Early exit.
+  if (F.arg_empty() || F.use_empty()) return false; // No arguments? Early exit.
 
   std::vector<std::pair<Constant*, bool> > ArgumentConstants;
   ArgumentConstants.resize(F.arg_size());
diff --git a/lib/Transforms/IPO/IndMemRemoval.cpp b/lib/Transforms/IPO/IndMemRemoval.cpp
index b5d0195..78b6ea5 100644
--- a/lib/Transforms/IPO/IndMemRemoval.cpp
+++ b/lib/Transforms/IPO/IndMemRemoval.cpp
@@ -38,7 +38,7 @@
     IndMemRemPass();
     virtual bool runOnModule(Module &M);
   };
-  RegisterOpt<IndMemRemPass> X("indmemrem", "Indirect Malloc and Free Removal");
+  RegisterPass<IndMemRemPass> X("indmemrem","Indirect Malloc and Free Removal");
 } // end anonymous namespace
 
 
diff --git a/lib/Transforms/IPO/InlineSimple.cpp b/lib/Transforms/IPO/InlineSimple.cpp
index 4a41bb6..6436684 100644
--- a/lib/Transforms/IPO/InlineSimple.cpp
+++ b/lib/Transforms/IPO/InlineSimple.cpp
@@ -55,7 +55,7 @@
   public:
     int getInlineCost(CallSite CS);
   };
-  RegisterOpt<SimpleInliner> X("inline", "Function Integration/Inlining");
+  RegisterPass<SimpleInliner> X("inline", "Function Integration/Inlining");
 }
 
 ModulePass *llvm::createFunctionInliningPass() { return new SimpleInliner(); }
diff --git a/lib/Transforms/IPO/Internalize.cpp b/lib/Transforms/IPO/Internalize.cpp
index f1e1e9c..2eec95f 100644
--- a/lib/Transforms/IPO/Internalize.cpp
+++ b/lib/Transforms/IPO/Internalize.cpp
@@ -49,7 +49,7 @@
     void LoadFile(const char *Filename);
     virtual bool runOnModule(Module &M);
   };
-  RegisterOpt<InternalizePass> X("internalize", "Internalize Global Symbols");
+  RegisterPass<InternalizePass> X("internalize", "Internalize Global Symbols");
 } // end anonymous namespace
 
 InternalizePass::InternalizePass(bool InternalizeEverything) 
diff --git a/lib/Transforms/IPO/LoopExtractor.cpp b/lib/Transforms/IPO/LoopExtractor.cpp
index 39d0fca..a4ce585 100644
--- a/lib/Transforms/IPO/LoopExtractor.cpp
+++ b/lib/Transforms/IPO/LoopExtractor.cpp
@@ -46,7 +46,7 @@
     }
   };
 
-  RegisterOpt<LoopExtractor>
+  RegisterPass<LoopExtractor>
   X("loop-extract", "Extract loops into new functions");
 
   /// SingleLoopExtractor - For bugpoint.
@@ -54,7 +54,7 @@
     SingleLoopExtractor() : LoopExtractor(1) {}
   };
 
-  RegisterOpt<SingleLoopExtractor>
+  RegisterPass<SingleLoopExtractor>
   Y("loop-extract-single", "Extract at most one loop into a new function");
 } // End anonymous namespace
 
@@ -148,7 +148,7 @@
 
     bool runOnModule(Module &M);
   };
-  RegisterOpt<BlockExtractorPass>
+  RegisterPass<BlockExtractorPass>
   XX("extract-blocks", "Extract Basic Blocks From Module (for bugpoint use)");
 }
 
diff --git a/lib/Transforms/IPO/LowerSetJmp.cpp b/lib/Transforms/IPO/LowerSetJmp.cpp
index 9dd9501..8018553 100644
--- a/lib/Transforms/IPO/LowerSetJmp.cpp
+++ b/lib/Transforms/IPO/LowerSetJmp.cpp
@@ -120,7 +120,7 @@
     bool doInitialization(Module& M);
   };
 
-  RegisterOpt<LowerSetJmp> X("lowersetjmp", "Lower Set Jump");
+  RegisterPass<LowerSetJmp> X("lowersetjmp", "Lower Set Jump");
 } // end anonymous namespace
 
 // run - Run the transformation on the program. We grab the function
diff --git a/lib/Transforms/IPO/PruneEH.cpp b/lib/Transforms/IPO/PruneEH.cpp
index d536965..8ba0ac0 100644
--- a/lib/Transforms/IPO/PruneEH.cpp
+++ b/lib/Transforms/IPO/PruneEH.cpp
@@ -46,7 +46,7 @@
     bool SimplifyFunction(Function *F);
     void DeleteBasicBlock(BasicBlock *BB);
   };
-  RegisterOpt<PruneEH> X("prune-eh", "Remove unused exception handling info");
+  RegisterPass<PruneEH> X("prune-eh", "Remove unused exception handling info");
 }
 
 ModulePass *llvm::createPruneEHPass() { return new PruneEH(); }
diff --git a/lib/Transforms/IPO/RaiseAllocations.cpp b/lib/Transforms/IPO/RaiseAllocations.cpp
index 2b487d0..188b7f5 100644
--- a/lib/Transforms/IPO/RaiseAllocations.cpp
+++ b/lib/Transforms/IPO/RaiseAllocations.cpp
@@ -44,7 +44,7 @@
     bool runOnModule(Module &M);
   };
 
-  RegisterOpt<RaiseAllocations>
+  RegisterPass<RaiseAllocations>
   X("raiseallocs", "Raise allocations from calls to instructions");
 }  // end anonymous namespace
 
diff --git a/lib/Transforms/IPO/SimplifyLibCalls.cpp b/lib/Transforms/IPO/SimplifyLibCalls.cpp
index d8415d7..79cdf28 100644
--- a/lib/Transforms/IPO/SimplifyLibCalls.cpp
+++ b/lib/Transforms/IPO/SimplifyLibCalls.cpp
@@ -366,8 +366,8 @@
 };
 
 // Register the pass
-RegisterOpt<SimplifyLibCalls>
-X("simplify-libcalls","Simplify well-known library calls");
+RegisterPass<SimplifyLibCalls>
+X("simplify-libcalls", "Simplify well-known library calls");
 
 } // anonymous namespace
 
diff --git a/lib/Transforms/IPO/StripSymbols.cpp b/lib/Transforms/IPO/StripSymbols.cpp
index da5e8a4..75b24a7 100644
--- a/lib/Transforms/IPO/StripSymbols.cpp
+++ b/lib/Transforms/IPO/StripSymbols.cpp
@@ -43,7 +43,7 @@
       AU.setPreservesAll();
     }
   };
-  RegisterOpt<StripSymbols> X("strip", "Strip all symbols from a module");
+  RegisterPass<StripSymbols> X("strip", "Strip all symbols from a module");
 }
 
 ModulePass *llvm::createStripSymbolsPass(bool OnlyDebugInfo) {
@@ -75,7 +75,8 @@
   // If we're not just stripping debug info, strip all symbols from the
   // functions and the names from any internal globals.
   if (!OnlyDebugInfo) {
-    for (Module::global_iterator I = M.global_begin(), E = M.global_end(); I != E; ++I)
+    for (Module::global_iterator I = M.global_begin(), E = M.global_end();
+         I != E; ++I)
       if (I->hasInternalLinkage())
         I->setName("");     // Internal symbols can't participate in linkage
 
diff --git a/lib/Transforms/Instrumentation/BlockProfiling.cpp b/lib/Transforms/Instrumentation/BlockProfiling.cpp
index 9a85fc5..859f596 100644
--- a/lib/Transforms/Instrumentation/BlockProfiling.cpp
+++ b/lib/Transforms/Instrumentation/BlockProfiling.cpp
@@ -35,7 +35,7 @@
     bool runOnModule(Module &M);
   };
 
-  RegisterOpt<FunctionProfiler> X("insert-function-profiling",
+  RegisterPass<FunctionProfiler> X("insert-function-profiling",
                                "Insert instrumentation for function profiling");
   RegisterAnalysisGroup<RSProfilers, FunctionProfiler> XG;
 
@@ -81,8 +81,8 @@
     bool runOnModule(Module &M);
   };
 
-  RegisterOpt<BlockProfiler> Y("insert-block-profiling",
-                               "Insert instrumentation for block profiling");
+  RegisterPass<BlockProfiler> Y("insert-block-profiling",
+                                "Insert instrumentation for block profiling");
   RegisterAnalysisGroup<RSProfilers, BlockProfiler> YG;
 }
 
diff --git a/lib/Transforms/Instrumentation/EdgeProfiling.cpp b/lib/Transforms/Instrumentation/EdgeProfiling.cpp
index 2ac6cc8..a94c42d 100644
--- a/lib/Transforms/Instrumentation/EdgeProfiling.cpp
+++ b/lib/Transforms/Instrumentation/EdgeProfiling.cpp
@@ -33,8 +33,8 @@
     bool runOnModule(Module &M);
   };
 
-  RegisterOpt<EdgeProfiler> X("insert-edge-profiling",
-                              "Insert instrumentation for edge profiling");
+  RegisterPass<EdgeProfiler> X("insert-edge-profiling",
+                               "Insert instrumentation for edge profiling");
 }
 
 ModulePass *llvm::createEdgeProfilerPass() { return new EdgeProfiler(); }
diff --git a/lib/Transforms/Instrumentation/EmitFunctions.cpp b/lib/Transforms/Instrumentation/EmitFunctions.cpp
index a491293..05c3419 100644
--- a/lib/Transforms/Instrumentation/EmitFunctions.cpp
+++ b/lib/Transforms/Instrumentation/EmitFunctions.cpp
@@ -40,7 +40,7 @@
     bool runOnModule(Module &M);
   };
 
-  RegisterOpt<EmitFunctionTable>
+  RegisterPass<EmitFunctionTable>
   X("emitfuncs", "Emit a function table for the reoptimizer");
 }
 
diff --git a/lib/Transforms/Instrumentation/RSProfiling.cpp b/lib/Transforms/Instrumentation/RSProfiling.cpp
index 31c01ee..984190a 100644
--- a/lib/Transforms/Instrumentation/RSProfiling.cpp
+++ b/lib/Transforms/Instrumentation/RSProfiling.cpp
@@ -87,7 +87,7 @@
   };
 
   static RegisterAnalysisGroup<RSProfilers> A("Profiling passes");
-  static RegisterOpt<NullProfilerRS> NP("insert-null-profiling-rs",
+  static RegisterPass<NullProfilerRS> NP("insert-null-profiling-rs",
 					"Measure profiling framework overhead");
   static RegisterAnalysisGroup<RSProfilers, NullProfilerRS, true> NPT;
 
@@ -160,8 +160,8 @@
     virtual void getAnalysisUsage(AnalysisUsage &AU) const;
   };
 
-  RegisterOpt<ProfilerRS> X("insert-rs-profiling-framework",
-			   "Insert random sampling instrumentation  framework");
+  RegisterPass<ProfilerRS> X("insert-rs-profiling-framework",
+			   "Insert random sampling instrumentation framework");
 }
 
 //Local utilities
diff --git a/lib/Transforms/Instrumentation/TraceBasicBlocks.cpp b/lib/Transforms/Instrumentation/TraceBasicBlocks.cpp
index 66a1b22..d3af056 100644
--- a/lib/Transforms/Instrumentation/TraceBasicBlocks.cpp
+++ b/lib/Transforms/Instrumentation/TraceBasicBlocks.cpp
@@ -31,7 +31,7 @@
     bool runOnModule(Module &M);
   };
 
-  RegisterOpt<TraceBasicBlocks> X("trace-basic-blocks",
+  RegisterPass<TraceBasicBlocks> X("trace-basic-blocks",
                               "Insert instrumentation for basic block tracing");
 }
 
diff --git a/lib/Transforms/Instrumentation/TraceValues.cpp b/lib/Transforms/Instrumentation/TraceValues.cpp
index eba596b..d335f16 100644
--- a/lib/Transforms/Instrumentation/TraceValues.cpp
+++ b/lib/Transforms/Instrumentation/TraceValues.cpp
@@ -104,8 +104,8 @@
   };
 
   // Register the passes...
-  RegisterOpt<FunctionTracer>  X("tracem","Insert Function trace code only");
-  RegisterOpt<BasicBlockTracer> Y("trace","Insert BB and Function trace code");
+  RegisterPass<FunctionTracer>  X("tracem","Insert Function trace code only");
+  RegisterPass<BasicBlockTracer> Y("trace","Insert BB and Function trace code");
 } // end anonymous namespace
 
 /// Just trace functions
diff --git a/lib/Transforms/LevelRaise.cpp b/lib/Transforms/LevelRaise.cpp
index 9cbe3b8..4c366bd 100644
--- a/lib/Transforms/LevelRaise.cpp
+++ b/lib/Transforms/LevelRaise.cpp
@@ -80,7 +80,7 @@
     bool PeepholeOptimize(BasicBlock *BB, BasicBlock::iterator &BI);
   };
 
-  RegisterOpt<RPR> X("raise", "Raise Pointer References");
+  RegisterPass<RPR> X("raise", "Raise Pointer References");
 }
 
 
diff --git a/lib/Transforms/Scalar/ADCE.cpp b/lib/Transforms/Scalar/ADCE.cpp
index bda8620..8632c7a 100644
--- a/lib/Transforms/Scalar/ADCE.cpp
+++ b/lib/Transforms/Scalar/ADCE.cpp
@@ -102,7 +102,7 @@
   }
 };
 
-  RegisterOpt<ADCE> X("adce", "Aggressive Dead Code Elimination");
+  RegisterPass<ADCE> X("adce", "Aggressive Dead Code Elimination");
 } // End of anonymous namespace
 
 FunctionPass *llvm::createAggressiveDCEPass() { return new ADCE(); }
diff --git a/lib/Transforms/Scalar/BasicBlockPlacement.cpp b/lib/Transforms/Scalar/BasicBlockPlacement.cpp
index c926c56..492fba2 100644
--- a/lib/Transforms/Scalar/BasicBlockPlacement.cpp
+++ b/lib/Transforms/Scalar/BasicBlockPlacement.cpp
@@ -68,8 +68,8 @@
     void PlaceBlocks(BasicBlock *BB);
   };
 
-  RegisterOpt<BlockPlacement> X("block-placement",
-                                "Profile Guided Basic Block Placement");
+  RegisterPass<BlockPlacement> X("block-placement",
+                                 "Profile Guided Basic Block Placement");
 }
 
 FunctionPass *llvm::createBlockPlacementPass() { return new BlockPlacement(); }
diff --git a/lib/Transforms/Scalar/CondPropagate.cpp b/lib/Transforms/Scalar/CondPropagate.cpp
index 49c87fd..5eb5abd 100644
--- a/lib/Transforms/Scalar/CondPropagate.cpp
+++ b/lib/Transforms/Scalar/CondPropagate.cpp
@@ -46,7 +46,7 @@
     void SimplifyPredecessors(SwitchInst *SI);
     void RevectorBlockTo(BasicBlock *FromBB, BasicBlock *ToBB);
   };
-  RegisterOpt<CondProp> X("condprop", "Conditional Propagation");
+  RegisterPass<CondProp> X("condprop", "Conditional Propagation");
 }
 
 FunctionPass *llvm::createCondPropagationPass() {
diff --git a/lib/Transforms/Scalar/ConstantProp.cpp b/lib/Transforms/Scalar/ConstantProp.cpp
index 8955aee..8f3baf9 100644
--- a/lib/Transforms/Scalar/ConstantProp.cpp
+++ b/lib/Transforms/Scalar/ConstantProp.cpp
@@ -39,7 +39,8 @@
     }
   };
 
-  RegisterOpt<ConstantPropagation> X("constprop","Simple constant propagation");
+  RegisterPass<ConstantPropagation> X("constprop",
+                                      "Simple constant propagation");
 }
 
 FunctionPass *llvm::createConstantPropagationPass() {
diff --git a/lib/Transforms/Scalar/CorrelatedExprs.cpp b/lib/Transforms/Scalar/CorrelatedExprs.cpp
index feae636..722a224 100644
--- a/lib/Transforms/Scalar/CorrelatedExprs.cpp
+++ b/lib/Transforms/Scalar/CorrelatedExprs.cpp
@@ -286,7 +286,7 @@
     bool SimplifyBasicBlock(BasicBlock &BB, const RegionInfo &RI);
     bool SimplifyInstruction(Instruction *Inst, const RegionInfo &RI);
   };
-  RegisterOpt<CEE> X("cee", "Correlated Expression Elimination");
+  RegisterPass<CEE> X("cee", "Correlated Expression Elimination");
 }
 
 FunctionPass *llvm::createCorrelatedExpressionEliminationPass() {
diff --git a/lib/Transforms/Scalar/DCE.cpp b/lib/Transforms/Scalar/DCE.cpp
index 2783f12..a4a1104 100644
--- a/lib/Transforms/Scalar/DCE.cpp
+++ b/lib/Transforms/Scalar/DCE.cpp
@@ -50,7 +50,7 @@
     }
   };
 
-  RegisterOpt<DeadInstElimination> X("die", "Dead Instruction Elimination");
+  RegisterPass<DeadInstElimination> X("die", "Dead Instruction Elimination");
 }
 
 FunctionPass *llvm::createDeadInstEliminationPass() {
@@ -71,7 +71,7 @@
     }
  };
 
-  RegisterOpt<DCE> Y("dce", "Dead Code Elimination");
+  RegisterPass<DCE> Y("dce", "Dead Code Elimination");
 }
 
 bool DCE::runOnFunction(Function &F) {
diff --git a/lib/Transforms/Scalar/DeadStoreElimination.cpp b/lib/Transforms/Scalar/DeadStoreElimination.cpp
index d3f461d..6684b21 100644
--- a/lib/Transforms/Scalar/DeadStoreElimination.cpp
+++ b/lib/Transforms/Scalar/DeadStoreElimination.cpp
@@ -54,7 +54,7 @@
       AU.addPreserved<AliasAnalysis>();
     }
   };
-  RegisterOpt<DSE> X("dse", "Dead Store Elimination");
+  RegisterPass<DSE> X("dse", "Dead Store Elimination");
 }
 
 FunctionPass *llvm::createDeadStoreEliminationPass() { return new DSE(); }
diff --git a/lib/Transforms/Scalar/GCSE.cpp b/lib/Transforms/Scalar/GCSE.cpp
index 3d6e624..7dbdf0a 100644
--- a/lib/Transforms/Scalar/GCSE.cpp
+++ b/lib/Transforms/Scalar/GCSE.cpp
@@ -51,7 +51,7 @@
     }
   };
 
-  RegisterOpt<GCSE> X("gcse", "Global Common Subexpression Elimination");
+  RegisterPass<GCSE> X("gcse", "Global Common Subexpression Elimination");
 }
 
 // createGCSEPass - The public interface to this file...
diff --git a/lib/Transforms/Scalar/IndVarSimplify.cpp b/lib/Transforms/Scalar/IndVarSimplify.cpp
index 4287bd0..dbaacaa 100644
--- a/lib/Transforms/Scalar/IndVarSimplify.cpp
+++ b/lib/Transforms/Scalar/IndVarSimplify.cpp
@@ -92,7 +92,7 @@
 
     void DeleteTriviallyDeadInstructions(std::set<Instruction*> &Insts);
   };
-  RegisterOpt<IndVarSimplify> X("indvars", "Canonicalize Induction Variables");
+  RegisterPass<IndVarSimplify> X("indvars", "Canonicalize Induction Variables");
 }
 
 FunctionPass *llvm::createIndVarSimplifyPass() {
diff --git a/lib/Transforms/Scalar/InstructionCombining.cpp b/lib/Transforms/Scalar/InstructionCombining.cpp
index f07d6a1..59e5acf 100644
--- a/lib/Transforms/Scalar/InstructionCombining.cpp
+++ b/lib/Transforms/Scalar/InstructionCombining.cpp
@@ -264,7 +264,7 @@
     Value *EvaluateInDifferentType(Value *V, const Type *Ty);
   };
 
-  RegisterOpt<InstCombiner> X("instcombine", "Combine redundant instructions");
+  RegisterPass<InstCombiner> X("instcombine", "Combine redundant instructions");
 }
 
 // getComplexity:  Assign a complexity or rank value to LLVM Values...
diff --git a/lib/Transforms/Scalar/LICM.cpp b/lib/Transforms/Scalar/LICM.cpp
index 2ecf6aa..a24b366 100644
--- a/lib/Transforms/Scalar/LICM.cpp
+++ b/lib/Transforms/Scalar/LICM.cpp
@@ -197,7 +197,7 @@
                                     std::map<Value*, AllocaInst*> &Val2AlMap);
   };
 
-  RegisterOpt<LICM> X("licm", "Loop Invariant Code Motion");
+  RegisterPass<LICM> X("licm", "Loop Invariant Code Motion");
 }
 
 FunctionPass *llvm::createLICMPass() { return new LICM(); }
diff --git a/lib/Transforms/Scalar/LoopStrengthReduce.cpp b/lib/Transforms/Scalar/LoopStrengthReduce.cpp
index cfdba4e..7f02488 100644
--- a/lib/Transforms/Scalar/LoopStrengthReduce.cpp
+++ b/lib/Transforms/Scalar/LoopStrengthReduce.cpp
@@ -194,8 +194,7 @@
                                       Loop *L, bool isOnlyStride);
     void DeleteTriviallyDeadInstructions(std::set<Instruction*> &Insts);
   };
-  RegisterOpt<LoopStrengthReduce> X("loop-reduce",
-                                    "Loop Strength Reduction");
+  RegisterPass<LoopStrengthReduce> X("loop-reduce", "Loop Strength Reduction");
 }
 
 FunctionPass *llvm::createLoopStrengthReducePass(const TargetLowering *TLI) {
diff --git a/lib/Transforms/Scalar/LoopUnroll.cpp b/lib/Transforms/Scalar/LoopUnroll.cpp
index 676afb0..c1a510d 100644
--- a/lib/Transforms/Scalar/LoopUnroll.cpp
+++ b/lib/Transforms/Scalar/LoopUnroll.cpp
@@ -60,7 +60,7 @@
       AU.addPreserved<LoopInfo>();
     }
   };
-  RegisterOpt<LoopUnroll> X("loop-unroll", "Unroll loops");
+  RegisterPass<LoopUnroll> X("loop-unroll", "Unroll loops");
 }
 
 FunctionPass *llvm::createLoopUnrollPass() { return new LoopUnroll(); }
diff --git a/lib/Transforms/Scalar/LoopUnswitch.cpp b/lib/Transforms/Scalar/LoopUnswitch.cpp
index 8f049b8..9c36552 100644
--- a/lib/Transforms/Scalar/LoopUnswitch.cpp
+++ b/lib/Transforms/Scalar/LoopUnswitch.cpp
@@ -103,7 +103,7 @@
                            std::vector<Instruction*> &Worklist);
     void RemoveLoopFromHierarchy(Loop *L);
   };
-  RegisterOpt<LoopUnswitch> X("loop-unswitch", "Unswitch loops");
+  RegisterPass<LoopUnswitch> X("loop-unswitch", "Unswitch loops");
 }
 
 FunctionPass *llvm::createLoopUnswitchPass() { return new LoopUnswitch(); }
diff --git a/lib/Transforms/Scalar/LowerGC.cpp b/lib/Transforms/Scalar/LowerGC.cpp
index aa599ec..851009c 100644
--- a/lib/Transforms/Scalar/LowerGC.cpp
+++ b/lib/Transforms/Scalar/LowerGC.cpp
@@ -56,7 +56,7 @@
     const StructType *getRootRecordType(unsigned NumRoots);
   };
 
-  RegisterOpt<LowerGC>
+  RegisterPass<LowerGC>
   X("lowergc", "Lower GC intrinsics, for GCless code generators");
 }
 
diff --git a/lib/Transforms/Scalar/LowerPacked.cpp b/lib/Transforms/Scalar/LowerPacked.cpp
index b24460c..79a55ee 100644
--- a/lib/Transforms/Scalar/LowerPacked.cpp
+++ b/lib/Transforms/Scalar/LowerPacked.cpp
@@ -102,7 +102,7 @@
    std::vector<Instruction*> instrsToRemove;
 };
 
-RegisterOpt<LowerPacked>
+RegisterPass<LowerPacked>
 X("lower-packed",
   "lowers packed operations to operations on smaller packed datatypes");
 
diff --git a/lib/Transforms/Scalar/Reassociate.cpp b/lib/Transforms/Scalar/Reassociate.cpp
index 353cd14..250d62b 100644
--- a/lib/Transforms/Scalar/Reassociate.cpp
+++ b/lib/Transforms/Scalar/Reassociate.cpp
@@ -90,7 +90,7 @@
     void RemoveDeadBinaryOp(Value *V);
   };
 
-  RegisterOpt<Reassociate> X("reassociate", "Reassociate expressions");
+  RegisterPass<Reassociate> X("reassociate", "Reassociate expressions");
 }
 
 // Public interface to the Reassociate pass
diff --git a/lib/Transforms/Scalar/Reg2Mem.cpp b/lib/Transforms/Scalar/Reg2Mem.cpp
index 0b16ab9..10d05ee 100644
--- a/lib/Transforms/Scalar/Reg2Mem.cpp
+++ b/lib/Transforms/Scalar/Reg2Mem.cpp
@@ -76,7 +76,7 @@
     }
   };
   
-  RegisterOpt<RegToMem> X("reg2mem", "Demote all values to stack slots");
+  RegisterPass<RegToMem> X("reg2mem", "Demote all values to stack slots");
 }
 
 // createDemoteRegisterToMemory - Provide an entry point to create this pass.
diff --git a/lib/Transforms/Scalar/SCCP.cpp b/lib/Transforms/Scalar/SCCP.cpp
index 9328a25..31d0840 100644
--- a/lib/Transforms/Scalar/SCCP.cpp
+++ b/lib/Transforms/Scalar/SCCP.cpp
@@ -1075,7 +1075,7 @@
     }
   };
 
-  RegisterOpt<SCCP> X("sccp", "Sparse Conditional Constant Propagation");
+  RegisterPass<SCCP> X("sccp", "Sparse Conditional Constant Propagation");
 } // end anonymous namespace
 
 
@@ -1183,7 +1183,7 @@
     bool runOnModule(Module &M);
   };
 
-  RegisterOpt<IPSCCP>
+  RegisterPass<IPSCCP>
   Y("ipsccp", "Interprocedural Sparse Conditional Constant Propagation");
 } // end anonymous namespace
 
diff --git a/lib/Transforms/Scalar/ScalarReplAggregates.cpp b/lib/Transforms/Scalar/ScalarReplAggregates.cpp
index 9ddc634..9fffd40 100644
--- a/lib/Transforms/Scalar/ScalarReplAggregates.cpp
+++ b/lib/Transforms/Scalar/ScalarReplAggregates.cpp
@@ -70,7 +70,7 @@
     void ConvertUsesToScalar(Value *Ptr, AllocaInst *NewAI, unsigned Offset);
   };
 
-  RegisterOpt<SROA> X("scalarrepl", "Scalar Replacement of Aggregates");
+  RegisterPass<SROA> X("scalarrepl", "Scalar Replacement of Aggregates");
 }
 
 // Public interface to the ScalarReplAggregates pass
diff --git a/lib/Transforms/Scalar/SimplifyCFG.cpp b/lib/Transforms/Scalar/SimplifyCFG.cpp
index 8b9c518..6b42f1c 100644
--- a/lib/Transforms/Scalar/SimplifyCFG.cpp
+++ b/lib/Transforms/Scalar/SimplifyCFG.cpp
@@ -35,7 +35,7 @@
   struct CFGSimplifyPass : public FunctionPass {
     virtual bool runOnFunction(Function &F);
   };
-  RegisterOpt<CFGSimplifyPass> X("simplifycfg", "Simplify the CFG");
+  RegisterPass<CFGSimplifyPass> X("simplifycfg", "Simplify the CFG");
 }
 
 // Public interface to the CFGSimplification pass
diff --git a/lib/Transforms/Scalar/TailDuplication.cpp b/lib/Transforms/Scalar/TailDuplication.cpp
index 0bd5926..acf0db0 100644
--- a/lib/Transforms/Scalar/TailDuplication.cpp
+++ b/lib/Transforms/Scalar/TailDuplication.cpp
@@ -47,7 +47,7 @@
     inline bool shouldEliminateUnconditionalBranch(TerminatorInst *TI);
     inline void eliminateUnconditionalBranch(BranchInst *BI);
   };
-  RegisterOpt<TailDup> X("tailduplicate", "Tail Duplication");
+  RegisterPass<TailDup> X("tailduplicate", "Tail Duplication");
 }
 
 // Public interface to the Tail Duplication pass
diff --git a/lib/Transforms/Scalar/TailRecursionElimination.cpp b/lib/Transforms/Scalar/TailRecursionElimination.cpp
index 99c1f10..5b46007 100644
--- a/lib/Transforms/Scalar/TailRecursionElimination.cpp
+++ b/lib/Transforms/Scalar/TailRecursionElimination.cpp
@@ -75,7 +75,7 @@
     bool CanMoveAboveCall(Instruction *I, CallInst *CI);
     Value *CanTransformAccumulatorRecursion(Instruction *I, CallInst *CI);
   };
-  RegisterOpt<TailCallElim> X("tailcallelim", "Tail Call Elimination");
+  RegisterPass<TailCallElim> X("tailcallelim", "Tail Call Elimination");
 }
 
 // Public interface to the TailCallElimination pass
diff --git a/lib/Transforms/Utils/BreakCriticalEdges.cpp b/lib/Transforms/Utils/BreakCriticalEdges.cpp
index cc822da..01811cf 100644
--- a/lib/Transforms/Utils/BreakCriticalEdges.cpp
+++ b/lib/Transforms/Utils/BreakCriticalEdges.cpp
@@ -47,7 +47,7 @@
     }
   };
 
-  RegisterOpt<BreakCriticalEdges> X("break-crit-edges",
+  RegisterPass<BreakCriticalEdges> X("break-crit-edges",
                                     "Break critical edges in CFG");
 }
 
diff --git a/lib/Transforms/Utils/LCSSA.cpp b/lib/Transforms/Utils/LCSSA.cpp
index 21f9352..6f93ac6 100644
--- a/lib/Transforms/Utils/LCSSA.cpp
+++ b/lib/Transforms/Utils/LCSSA.cpp
@@ -80,7 +80,7 @@
     }
   };
   
-  RegisterOpt<LCSSA> X("lcssa", "Loop-Closed SSA Form Pass");
+  RegisterPass<LCSSA> X("lcssa", "Loop-Closed SSA Form Pass");
 }
 
 FunctionPass *llvm::createLCSSAPass() { return new LCSSA(); }
diff --git a/lib/Transforms/Utils/LoopSimplify.cpp b/lib/Transforms/Utils/LoopSimplify.cpp
index 88e75b7..7041282 100644
--- a/lib/Transforms/Utils/LoopSimplify.cpp
+++ b/lib/Transforms/Utils/LoopSimplify.cpp
@@ -89,7 +89,7 @@
                                          std::vector<BasicBlock*> &PredBlocks);
   };
 
-  RegisterOpt<LoopSimplify>
+  RegisterPass<LoopSimplify>
   X("loopsimplify", "Canonicalize natural loops", true);
 }
 
diff --git a/lib/Transforms/Utils/LowerAllocations.cpp b/lib/Transforms/Utils/LowerAllocations.cpp
index 8eec021..451df70 100644
--- a/lib/Transforms/Utils/LowerAllocations.cpp
+++ b/lib/Transforms/Utils/LowerAllocations.cpp
@@ -65,7 +65,7 @@
     bool runOnBasicBlock(BasicBlock &BB);
   };
 
-  RegisterOpt<LowerAllocations>
+  RegisterPass<LowerAllocations>
   X("lowerallocs", "Lower allocations from instructions to calls");
 }
 
diff --git a/lib/Transforms/Utils/LowerInvoke.cpp b/lib/Transforms/Utils/LowerInvoke.cpp
index 89a939f..8702810 100644
--- a/lib/Transforms/Utils/LowerInvoke.cpp
+++ b/lib/Transforms/Utils/LowerInvoke.cpp
@@ -94,7 +94,7 @@
     unsigned JumpBufAlign;
   };
 
-  RegisterOpt<LowerInvoke>
+  RegisterPass<LowerInvoke>
   X("lowerinvoke", "Lower invoke and unwind, for unwindless code generators");
 }
 
diff --git a/lib/Transforms/Utils/LowerSelect.cpp b/lib/Transforms/Utils/LowerSelect.cpp
index 464d30d..6859813 100644
--- a/lib/Transforms/Utils/LowerSelect.cpp
+++ b/lib/Transforms/Utils/LowerSelect.cpp
@@ -50,7 +50,7 @@
     bool runOnFunction(Function &F);
   };
 
-  RegisterOpt<LowerSelect>
+  RegisterPass<LowerSelect>
   X("lowerselect", "Lower select instructions to branches");
 }
 
diff --git a/lib/Transforms/Utils/LowerSwitch.cpp b/lib/Transforms/Utils/LowerSwitch.cpp
index a7c85c8..12a32f1 100644
--- a/lib/Transforms/Utils/LowerSwitch.cpp
+++ b/lib/Transforms/Utils/LowerSwitch.cpp
@@ -68,7 +68,7 @@
     }
   };
 
-  RegisterOpt<LowerSwitch>
+  RegisterPass<LowerSwitch>
   X("lowerswitch", "Lower SwitchInst's to branches");
 }
 
diff --git a/lib/Transforms/Utils/Mem2Reg.cpp b/lib/Transforms/Utils/Mem2Reg.cpp
index 295c68a..f4ab50f 100644
--- a/lib/Transforms/Utils/Mem2Reg.cpp
+++ b/lib/Transforms/Utils/Mem2Reg.cpp
@@ -48,7 +48,7 @@
     }
   };
 
-  RegisterOpt<PromotePass> X("mem2reg", "Promote Memory to Register");
+  RegisterPass<PromotePass> X("mem2reg", "Promote Memory to Register");
 }  // end of anonymous namespace
 
 bool PromotePass::runOnFunction(Function &F) {
diff --git a/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp b/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp
index fa4e386..07512b9 100644
--- a/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp
+++ b/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp
@@ -22,7 +22,7 @@
 #include "llvm/Type.h"
 using namespace llvm;
 
-static RegisterOpt<UnifyFunctionExitNodes>
+static RegisterPass<UnifyFunctionExitNodes>
 X("mergereturn", "Unify function exit nodes");
 
 int UnifyFunctionExitNodes::stub;
diff --git a/lib/VMCore/AsmWriter.cpp b/lib/VMCore/AsmWriter.cpp
index 5553e24..890b598 100644
--- a/lib/VMCore/AsmWriter.cpp
+++ b/lib/VMCore/AsmWriter.cpp
@@ -162,9 +162,9 @@
 
 }  // end namespace llvm
 
-static RegisterOpt<PrintModulePass>
+static RegisterPass<PrintModulePass>
 X("printm", "Print module to stderr");
-static RegisterOpt<PrintFunctionPass>
+static RegisterPass<PrintFunctionPass>
 Y("print","Print function to stderr");
 
 static void WriteAsOperandInternal(std::ostream &Out, const Value *V,
diff --git a/lib/VMCore/Verifier.cpp b/lib/VMCore/Verifier.cpp
index 359bd7b..606a43f 100644
--- a/lib/VMCore/Verifier.cpp
+++ b/lib/VMCore/Verifier.cpp
@@ -239,7 +239,7 @@
     }
   };
 
-  RegisterOpt<Verifier> X("verify", "Module Verifier");
+  RegisterPass<Verifier> X("verify", "Module Verifier");
 } // End anonymous namespace