Print newline after banner for ModulePass
authorSven van Haastregt <sven.vanhaastregt@arm.com>
Wed, 14 Nov 2018 10:05:28 +0000 (10:05 +0000)
committerSven van Haastregt <sven.vanhaastregt@arm.com>
Wed, 14 Nov 2018 10:05:28 +0000 (10:05 +0000)
Before this commit, `llc -print-after-all` would print something like:

  *** IR Dump After Pre-ISel Intrinsic Lowering ***; ModuleID = ...

Emit a newline such that ModuleID appears on a line by its own.

llvm-svn: 346844

llvm/lib/IR/IRPrintingPasses.cpp
llvm/test/Other/2010-05-06-Printer.ll

index befe1d9..4301022 100644 (file)
@@ -27,7 +27,8 @@ PrintModulePass::PrintModulePass(raw_ostream &OS, const std::string &Banner,
       ShouldPreserveUseListOrder(ShouldPreserveUseListOrder) {}
 
 PreservedAnalyses PrintModulePass::run(Module &M, ModuleAnalysisManager &) {
-  OS << Banner;
+  if (!Banner.empty())
+    OS << Banner << "\n";
   if (llvm::isFunctionInPrintList("*"))
     M.print(OS, nullptr, ShouldPreserveUseListOrder);
   else {
index dcc0e75..9e7c9cb 100644 (file)
@@ -10,10 +10,12 @@ define void @foo(){
   ret void
 }
 
+;ALL-NOT: IR Dump After {{.*}}; ModuleID =
 ;ALL: define void @tester()
 ;ALL: define void @foo()
 ;ALL: ModuleID =
 
 ;FOO: IR Dump After
+;FOO-EMPTY:
 ;FOO-NEXT: define void @foo()
 ;FOO-NOT: define void @tester