Move dump out of class, use "\n" instead of endl
[oota-llvm.git] / include / llvm / PassAnalysisSupport.h
index 75434a25ef2bbae96cdaf95222e0ad119fbbffc1..0454f2143fe7566afab961a1bc8345954bc6d6bc 100644 (file)
@@ -44,24 +44,26 @@ public:
   // for a pass.
   //
   AnalysisUsage &addRequiredID(AnalysisID ID) {
+    assert(ID && "Pass class not registered!");
     Required.push_back(ID);
     return *this;
   }
   template<class PassClass>
   AnalysisUsage &addRequired() {
-    assert(Pass::getClassPassInfo<PassClass>() && "Pass class not registered!");
-    Required.push_back(Pass::getClassPassInfo<PassClass>());
-    return *this;
+    return addRequiredID(Pass::getClassPassInfo<PassClass>());
   }
 
-  template<class PassClass>
-  AnalysisUsage &addRequiredTransitive() {
-    AnalysisID ID = Pass::getClassPassInfo<PassClass>();
+  AnalysisUsage &addRequiredTransitiveID(AnalysisID ID) {
     assert(ID && "Pass class not registered!");
     Required.push_back(ID);
     RequiredTransitive.push_back(ID);
     return *this;
   }
+  template<class PassClass>
+  AnalysisUsage &addRequiredTransitive() {
+    AnalysisID ID = Pass::getClassPassInfo<PassClass>();
+    return addRequiredTransitiveID(ID);
+  }
 
   // addPreserved - Add the specified ID to the set of analyses preserved by
   // this pass