PM: Rephrase PrintLoopPass as a wrapper around a new-style pass. NFC
[oota-llvm.git] / lib / Analysis / LoopInfo.cpp
index 3d30c3a06e2850cd895f2ad89e228f6a4ddb9fab..9ee72361c92a6bf9582f0edd27666d187b1c6566 100644 (file)
@@ -691,6 +691,20 @@ PreservedAnalyses LoopPrinterPass::run(Function &F,
   return PreservedAnalyses::all();
 }
 
+PrintLoopPass::PrintLoopPass() : OS(dbgs()) {}
+PrintLoopPass::PrintLoopPass(raw_ostream &OS, const std::string &Banner)
+    : OS(OS), Banner(Banner) {}
+
+PreservedAnalyses PrintLoopPass::run(Loop &L) {
+  OS << Banner;
+  for (auto *Block : L.blocks())
+    if (Block)
+      Block->print(OS);
+    else
+      OS << "Printing <null> block";
+  return PreservedAnalyses::all();
+}
+
 //===----------------------------------------------------------------------===//
 // LoopInfo implementation
 //