diff --git a/clang/test/CodeGen/sanitizer-module-constructor.c b/clang/test/CodeGen/sanitizer-module-constructor.c --- a/clang/test/CodeGen/sanitizer-module-constructor.c +++ b/clang/test/CodeGen/sanitizer-module-constructor.c @@ -16,6 +16,6 @@ } void h() { f(e); } -// CHECK: Running pass: {{.*}}SanitizerPass on {{.*}}sanitizer-module-constructor.c +// CHECK: Running pass: {{.*}}SanitizerPass // CHECK-NOT: Running pass: LoopSimplifyPass on {{.*}}san.module_ctor // CHECK: Running analysis: DominatorTreeAnalysis on {{.*}}san.module_ctor diff --git a/clang/test/Misc/printer.c b/clang/test/Misc/printer.c --- a/clang/test/Misc/printer.c +++ b/clang/test/Misc/printer.c @@ -1,5 +1,5 @@ // RUN: %clang_cc1 -emit-llvm -fexperimental-new-pass-manager -mllvm -print-before-all %s -o %t 2>&1 | FileCheck %s --check-prefix=CHECK-BEFORE // RUN: %clang_cc1 -emit-llvm -fexperimental-new-pass-manager -mllvm -print-after-all %s -o %t 2>&1 | FileCheck %s --check-prefix=CHECK-AFTER -// CHECK-BEFORE: *** IR Dump Before AlwaysInlinerPass *** -// CHECK-AFTER: *** IR Dump After AlwaysInlinerPass *** +// CHECK-BEFORE: *** IR Dump Before AlwaysInlinerPass +// CHECK-AFTER: *** IR Dump After AlwaysInlinerPass void foo() {} diff --git a/llvm/include/llvm/Analysis/LoopInfo.h b/llvm/include/llvm/Analysis/LoopInfo.h --- a/llvm/include/llvm/Analysis/LoopInfo.h +++ b/llvm/include/llvm/Analysis/LoopInfo.h @@ -479,7 +479,8 @@ bool isAnnotatedParallel() const { return false; } /// Print loop with all the BBs inside it. - void print(raw_ostream &OS, unsigned Depth = 0, bool Verbose = false) const; + void print(raw_ostream &OS, bool Verbose = false, bool PrintNested = true, + unsigned Depth = 0) const; protected: friend class LoopInfoBase; diff --git a/llvm/include/llvm/Analysis/LoopInfoImpl.h b/llvm/include/llvm/Analysis/LoopInfoImpl.h --- a/llvm/include/llvm/Analysis/LoopInfoImpl.h +++ b/llvm/include/llvm/Analysis/LoopInfoImpl.h @@ -381,8 +381,8 @@ } template -void LoopBase::print(raw_ostream &OS, unsigned Depth, - bool Verbose) const { +void LoopBase::print(raw_ostream &OS, bool Verbose, + bool PrintNested, unsigned Depth) const { OS.indent(Depth * 2); if (static_cast(this)->isAnnotatedParallel()) OS << "Parallel "; @@ -407,10 +407,13 @@ if (Verbose) BB->print(OS); } - OS << "\n"; - for (iterator I = begin(), E = end(); I != E; ++I) - (*I)->print(OS, Depth + 2); + if (PrintNested) { + OS << "\n"; + + for (iterator I = begin(), E = end(); I != E; ++I) + (*I)->print(OS, /*Verbose*/ false, PrintNested, Depth + 2); + } } //===----------------------------------------------------------------------===// diff --git a/llvm/lib/Analysis/LoopInfo.cpp b/llvm/lib/Analysis/LoopInfo.cpp --- a/llvm/lib/Analysis/LoopInfo.cpp +++ b/llvm/lib/Analysis/LoopInfo.cpp @@ -662,7 +662,7 @@ LLVM_DUMP_METHOD void Loop::dump() const { print(dbgs()); } LLVM_DUMP_METHOD void Loop::dumpVerbose() const { - print(dbgs(), /*Depth=*/0, /*Verbose=*/true); + print(dbgs(), /*Verbose=*/true); } #endif diff --git a/llvm/lib/Passes/StandardInstrumentations.cpp b/llvm/lib/Passes/StandardInstrumentations.cpp --- a/llvm/lib/Passes/StandardInstrumentations.cpp +++ b/llvm/lib/Passes/StandardInstrumentations.cpp @@ -193,20 +193,18 @@ return Diff; } -/// Extracting Module out of \p IR unit. Also fills a textual description -/// of \p IR for use in header when printing. -Optional> -unwrapModule(Any IR, bool Force = false) { +/// Extract Module out of \p IR unit. May return nullptr if \p IR does not match +/// certain global filters. Will never return nullptr if \p Force is true. +const Module *unwrapModule(Any IR, bool Force = false) { if (any_isa(IR)) - return std::make_pair(any_cast(IR), std::string()); + return any_cast(IR); if (any_isa(IR)) { const Function *F = any_cast(IR); if (!Force && !isFunctionInPrintList(F->getName())) - return None; + return nullptr; - const Module *M = F->getParent(); - return std::make_pair(M, formatv(" (function: {0})", F->getName()).str()); + return F->getParent(); } if (any_isa(IR)) { @@ -214,130 +212,156 @@ for (const LazyCallGraph::Node &N : *C) { const Function &F = N.getFunction(); if (Force || (!F.isDeclaration() && isFunctionInPrintList(F.getName()))) { - const Module *M = F.getParent(); - return std::make_pair(M, formatv(" (scc: {0})", C->getName()).str()); + return F.getParent(); } } - assert(!Force && "Expected to have made a pair when forced."); - return None; + assert(!Force && "Expected a module"); + return nullptr; } if (any_isa(IR)) { const Loop *L = any_cast(IR); const Function *F = L->getHeader()->getParent(); if (!Force && !isFunctionInPrintList(F->getName())) - return None; - const Module *M = F->getParent(); - std::string LoopName; - raw_string_ostream ss(LoopName); - L->getHeader()->printAsOperand(ss, false); - return std::make_pair(M, formatv(" (loop: {0})", ss.str()).str()); + return nullptr; + return F->getParent(); } llvm_unreachable("Unknown IR unit"); } -void printIR(raw_ostream &OS, const Function *F, StringRef Banner, - StringRef Extra = StringRef(), bool Brief = false) { - if (Brief) { - OS << F->getName() << '\n'; - return; - } - +void printIR(raw_ostream &OS, const Function *F) { if (!isFunctionInPrintList(F->getName())) return; - OS << Banner << Extra << "\n" << static_cast(*F); + OS << *F; } -void printIR(raw_ostream &OS, const Module *M, StringRef Banner, - StringRef Extra = StringRef(), bool Brief = false, +void printIR(raw_ostream &OS, const Module *M, bool ShouldPreserveUseListOrder = false) { - if (Brief) { - OS << M->getName() << '\n'; - return; - } - if (isFunctionInPrintList("*") || forcePrintModuleIR()) { - OS << Banner << Extra << "\n"; M->print(OS, nullptr, ShouldPreserveUseListOrder); } else { for (const auto &F : M->functions()) { - printIR(OS, &F, Banner, Extra); + printIR(OS, &F); } } } -void printIR(raw_ostream &OS, const LazyCallGraph::SCC *C, StringRef Banner, - StringRef Extra = StringRef(), bool Brief = false) { - if (Brief) { - OS << *C << '\n'; - return; - } - - bool BannerPrinted = false; +void printIR(raw_ostream &OS, const LazyCallGraph::SCC *C) { for (const LazyCallGraph::Node &N : *C) { const Function &F = N.getFunction(); if (!F.isDeclaration() && isFunctionInPrintList(F.getName())) { - if (!BannerPrinted) { - OS << Banner << Extra << "\n"; - BannerPrinted = true; - } F.print(OS); } } } -void printIR(raw_ostream &OS, const Loop *L, StringRef Banner, - bool Brief = false) { - if (Brief) { - OS << *L; - return; - } - +void printIR(raw_ostream &OS, const Loop *L) { const Function *F = L->getHeader()->getParent(); if (!isFunctionInPrintList(F->getName())) return; - printLoop(const_cast(*L), OS, std::string(Banner)); + printLoop(const_cast(*L), OS); +} + +std::string getIRName(Any IR) { + if (any_isa(IR)) + return "[module]"; + + if (any_isa(IR)) { + const Function *F = any_cast(IR); + return F->getName().str(); + } + + if (any_isa(IR)) { + const LazyCallGraph::SCC *C = any_cast(IR); + return C->getName(); + } + + if (any_isa(IR)) { + const Loop *L = any_cast(IR); + std::string S; + raw_string_ostream OS(S); + L->print(OS, /*Verbose*/ false, /*PrintNested*/ false); + return OS.str(); + } + + llvm_unreachable("Unknown wrapped IR type"); +} + +bool moduleContainsFilterPrintFunc(const Module &M) { + return any_of(M.functions(), + [](const Function &F) { + return isFunctionInPrintList(F.getName()); + }) || + isFunctionInPrintList("*"); +} + +bool sccContainsFilterPrintFunc(const LazyCallGraph::SCC &C) { + return any_of(C, + [](const LazyCallGraph::Node &N) { + return isFunctionInPrintList(N.getName()); + }) || + isFunctionInPrintList("*"); +} + +bool shouldPrintIR(Any IR) { + if (any_isa(IR)) { + const Module *M = any_cast(IR); + return moduleContainsFilterPrintFunc(*M); + } + + if (any_isa(IR)) { + const Function *F = any_cast(IR); + return isFunctionInPrintList(F->getName()); + } + + if (any_isa(IR)) { + const LazyCallGraph::SCC *C = any_cast(IR); + return sccContainsFilterPrintFunc(*C); + } + + if (any_isa(IR)) { + const Loop *L = any_cast(IR); + return isFunctionInPrintList(L->getHeader()->getParent()->getName()); + } + llvm_unreachable("Unknown wrapped IR type"); } /// Generic IR-printing helper that unpacks a pointer to IRUnit wrapped into /// llvm::Any and does actual print job. -void unwrapAndPrint(raw_ostream &OS, Any IR, StringRef Banner, - bool ForceModule = false, bool Brief = false, +void unwrapAndPrint(raw_ostream &OS, Any IR, bool ShouldPreserveUseListOrder = false) { - if (ForceModule) { - if (auto UnwrappedModule = unwrapModule(IR)) - printIR(OS, UnwrappedModule->first, Banner, UnwrappedModule->second, - Brief, ShouldPreserveUseListOrder); + if (!shouldPrintIR(IR)) + return; + + if (forcePrintModuleIR()) { + auto *M = unwrapModule(IR); + assert(M && "should have unwrapped module"); + printIR(OS, M, ShouldPreserveUseListOrder); return; } if (any_isa(IR)) { const Module *M = any_cast(IR); - assert(M && "module should be valid for printing"); - printIR(OS, M, Banner, "", Brief, ShouldPreserveUseListOrder); + printIR(OS, M, ShouldPreserveUseListOrder); return; } if (any_isa(IR)) { const Function *F = any_cast(IR); - assert(F && "function should be valid for printing"); - printIR(OS, F, Banner, "", Brief); + printIR(OS, F); return; } if (any_isa(IR)) { const LazyCallGraph::SCC *C = any_cast(IR); - assert(C && "scc should be valid for printing"); - std::string Extra = std::string(formatv(" (scc: {0})", C->getName())); - printIR(OS, C, Banner, Extra, Brief); + printIR(OS, C); return; } if (any_isa(IR)) { const Loop *L = any_cast(IR); - assert(L && "Loop should be valid for printing"); - printIR(OS, L, Banner, Brief); + printIR(OS, L); return; } llvm_unreachable("Unknown wrapped IR type"); @@ -406,18 +430,8 @@ template void ChangeReporter::handleIRAfterPass(Any IR, StringRef PassID) { assert(!BeforeStack.empty() && "Unexpected empty stack encountered."); - std::string Name; - // unwrapModule has inconsistent handling of names for function IRs. - if (any_isa(IR)) { - const Function *F = any_cast(IR); - Name = formatv(" (function: {0})", F->getName()).str(); - } else { - if (auto UM = unwrapModule(IR)) - Name = UM->second; - } - if (Name == "") - Name = " (module)"; + std::string Name = getIRName(IR); if (isIgnored(PassID)) { if (VerboseMode) @@ -485,17 +499,17 @@ void TextChangeReporter::handleInitialIR(Any IR) { // Always print the module. // Unwrap and print directly to avoid filtering problems in general routines. - auto UnwrappedModule = unwrapModule(IR, /*Force=*/true); - assert(UnwrappedModule && "Expected module to be unwrapped when forced."); - Out << "*** IR Dump At Start: ***" << UnwrappedModule->second << "\n"; - UnwrappedModule->first->print(Out, nullptr, - /*ShouldPreserveUseListOrder=*/true); + auto *M = unwrapModule(IR, /*Force=*/true); + assert(M && "Expected module to be unwrapped when forced."); + Out << "*** IR Dump At Start ***\n"; + M->print(Out, nullptr, + /*ShouldPreserveUseListOrder=*/true); } template void TextChangeReporter::omitAfter(StringRef PassID, std::string &Name) { - Out << formatv("*** IR Dump After {0}{1} omitted because no change ***\n", + Out << formatv("*** IR Dump After {0} on {1} omitted because no change ***\n", PassID, Name); } @@ -508,14 +522,14 @@ void TextChangeReporter::handleFiltered(StringRef PassID, std::string &Name) { SmallString<20> Banner = - formatv("*** IR Dump After {0}{1} filtered out ***\n", PassID, Name); + formatv("*** IR Dump After {0} on {1} filtered out ***\n", PassID, Name); Out << Banner; } template void TextChangeReporter::handleIgnored(StringRef PassID, std::string &Name) { - Out << formatv("*** IR Pass {0}{1} ignored ***\n", PassID, Name); + Out << formatv("*** IR Pass {0} on {1} ignored ***\n", PassID, Name); } IRChangedPrinter::~IRChangedPrinter() {} @@ -529,49 +543,27 @@ void IRChangedPrinter::generateIRRepresentation(Any IR, StringRef PassID, std::string &Output) { raw_string_ostream OS(Output); - // use the after banner for all cases so it will match - SmallString<20> Banner = formatv("*** IR Dump After {0} ***", PassID); - unwrapAndPrint(OS, IR, Banner, forcePrintModuleIR(), - /*Brief=*/false, /*ShouldPreserveUseListOrder=*/true); - + unwrapAndPrint(OS, IR, + /*ShouldPreserveUseListOrder=*/true); OS.str(); } void IRChangedPrinter::handleAfter(StringRef PassID, std::string &Name, const std::string &Before, const std::string &After, Any) { + // Report the IR before the changes when requested. + if (PrintChangedBefore) + Out << "*** IR Dump Before " << PassID << " on " << Name << " ***\n" + << Before; + // We might not get anything to print if we only want to print a specific // function but it gets deleted. if (After.empty()) { - Out << "*** IR Deleted After " << PassID << Name << " ***\n"; + Out << "*** IR Deleted After " << PassID << " on " << Name << " ***\n"; return; } - assert(After.find("*** IR Dump") == 0 && "Unexpected banner format."); - StringRef AfterRef = After; - StringRef Banner = - AfterRef.take_until([](char C) -> bool { return C == '\n'; }); - - // Report the IR before the changes when requested. - if (PrintChangedBefore) { - Out << "*** IR Dump Before" << Banner.substr(17); - // LazyCallGraph::SCC already has "(scc:..." in banner so only add - // in the name if it isn't already there. - if (Name.substr(0, 6) != " (scc:" && !forcePrintModuleIR()) - Out << Name; - - StringRef BeforeRef = Before; - Out << BeforeRef.substr(Banner.size()); - } - - Out << Banner; - - // LazyCallGraph::SCC already has "(scc:..." in banner so only add - // in the name if it isn't already there. - if (Name.substr(0, 6) != " (scc:" && !forcePrintModuleIR()) - Out << Name; - - Out << After.substr(Banner.size()); + Out << "*** IR Dump After " << PassID << " on " << Name << " ***\n" << After; } bool IRChangedPrinter::same(const std::string &S1, const std::string &S2) { @@ -723,11 +715,8 @@ void PrintIRInstrumentation::pushModuleDesc(StringRef PassID, Any IR) { assert(StoreModuleDesc); - const Module *M = nullptr; - std::string Extra; - if (auto UnwrappedModule = unwrapModule(IR)) - std::tie(M, Extra) = UnwrappedModule.getValue(); - ModuleDescStack.emplace_back(M, Extra, PassID); + const Module *M = unwrapModule(IR); + ModuleDescStack.emplace_back(M, getIRName(IR), PassID); } PrintIRInstrumentation::PrintModuleDesc @@ -752,8 +741,12 @@ if (!shouldPrintBeforePass(PassID)) return; - SmallString<20> Banner = formatv("*** IR Dump Before {0} ***", PassID); - unwrapAndPrint(dbgs(), IR, Banner, forcePrintModuleIR()); + if (!shouldPrintIR(IR)) + return; + + dbgs() << "*** IR Dump Before " << PassID << " on " << getIRName(IR) + << " ***\n"; + unwrapAndPrint(dbgs(), IR); } void PrintIRInstrumentation::printAfterPass(StringRef PassID, Any IR) { @@ -763,11 +756,20 @@ if (!shouldPrintAfterPass(PassID)) return; - if (StoreModuleDesc) - popModuleDesc(PassID); + if (StoreModuleDesc) { + const Module *M; + std::string IRName; + StringRef StoredPassID; + std::tie(M, IRName, StoredPassID) = popModuleDesc(PassID); + assert(StoredPassID == PassID && "mismatched PassID"); + } + + if (!shouldPrintIR(IR)) + return; - SmallString<20> Banner = formatv("*** IR Dump After {0} ***", PassID); - unwrapAndPrint(dbgs(), IR, Banner, forcePrintModuleIR()); + dbgs() << "*** IR Dump After " << PassID << " on " << getIRName(IR) + << " ***\n"; + unwrapAndPrint(dbgs(), IR); } void PrintIRInstrumentation::printAfterPassInvalidated(StringRef PassID) { @@ -779,17 +781,19 @@ return; const Module *M; - std::string Extra; + std::string IRName; StringRef StoredPassID; - std::tie(M, Extra, StoredPassID) = popModuleDesc(PassID); + std::tie(M, IRName, StoredPassID) = popModuleDesc(PassID); + assert(StoredPassID == PassID && "mismatched PassID"); // Additional filtering (e.g. -filter-print-func) can lead to module // printing being skipped. if (!M) return; SmallString<20> Banner = - formatv("*** IR Dump After {0} *** invalidated: ", PassID); - printIR(dbgs(), M, Banner, Extra); + formatv("*** IR Dump After {0} on {1} (invalidated) ***", PassID, IRName); + dbgs() << Banner << "\n"; + printIR(dbgs(), M); } bool PrintIRInstrumentation::shouldPrintBeforePass(StringRef PassID) { @@ -852,39 +856,12 @@ return ShouldRun; } -static std::string getBisectDescription(Any IR) { - if (any_isa(IR)) { - const Module *M = any_cast(IR); - assert(M && "module should be valid for printing"); - return "module (" + M->getName().str() + ")"; - } - - if (any_isa(IR)) { - const Function *F = any_cast(IR); - assert(F && "function should be valid for printing"); - return "function (" + F->getName().str() + ")"; - } - - if (any_isa(IR)) { - const LazyCallGraph::SCC *C = any_cast(IR); - assert(C && "scc should be valid for printing"); - return "SCC " + C->getName(); - } - - if (any_isa(IR)) { - return "loop"; - } - - llvm_unreachable("Unknown wrapped IR type"); -} - void OptBisectInstrumentation::registerCallbacks( PassInstrumentationCallbacks &PIC) { if (!OptBisector->isEnabled()) return; PIC.registerShouldRunOptionalPassCallback([](StringRef PassID, Any IR) { - return isIgnored(PassID) || - OptBisector->checkPass(PassID, getBisectDescription(IR)); + return isIgnored(PassID) || OptBisector->checkPass(PassID, getIRName(IR)); }); } @@ -902,8 +879,8 @@ assert(!isSpecialPass(PassID, SpecialPasses) && "Unexpectedly skipping special pass"); - dbgs() << "Skipping pass: " << PassID << " on "; - unwrapAndPrint(dbgs(), IR, "", false, true); + dbgs() << "Skipping pass: " << PassID << " on " << getIRName(IR) + << "\n"; }); PIC.registerBeforeNonSkippedPassCallback( @@ -911,13 +888,11 @@ if (isSpecialPass(PassID, SpecialPasses)) return; - dbgs() << "Running pass: " << PassID << " on "; - unwrapAndPrint(dbgs(), IR, "", false, true); + dbgs() << "Running pass: " << PassID << " on " << getIRName(IR) << "\n"; }); PIC.registerBeforeAnalysisCallback([](StringRef PassID, Any IR) { - dbgs() << "Running analysis: " << PassID << " on "; - unwrapAndPrint(dbgs(), IR, "", false, true); + dbgs() << "Running analysis: " << PassID << " on " << getIRName(IR) << "\n"; }); } @@ -1163,10 +1138,8 @@ void InLineChangePrinter::handleAfter(StringRef PassID, std::string &Name, const ChangedIRData &Before, const ChangedIRData &After, Any IR) { - if (Name == "") - Name = " (module)"; SmallString<20> Banner = - formatv("*** IR Dump After {0} ***{1}\n", PassID, Name); + formatv("*** IR Dump After {0} on {1} ***\n", PassID, Name); Out << Banner; ChangedIRComparer(Out, Before, After, UseColour) .compare(IR, "", PassID, Name); diff --git a/llvm/lib/Target/AMDGPU/AMDILCFGStructurizer.cpp b/llvm/lib/Target/AMDGPU/AMDILCFGStructurizer.cpp --- a/llvm/lib/Target/AMDGPU/AMDILCFGStructurizer.cpp +++ b/llvm/lib/Target/AMDGPU/AMDILCFGStructurizer.cpp @@ -171,7 +171,7 @@ static void PrintLoopinfo(const MachineLoopInfo &LoopInfo) { for (MachineLoop::iterator iter = LoopInfo.begin(), iterEnd = LoopInfo.end(); iter != iterEnd; ++iter) { - (*iter)->print(dbgs(), 0); + (*iter)->print(dbgs()); } } diff --git a/llvm/test/Other/ChangePrinters/print-changed-diff.ll b/llvm/test/Other/ChangePrinters/print-changed-diff.ll --- a/llvm/test/Other/ChangePrinters/print-changed-diff.ll +++ b/llvm/test/Other/ChangePrinters/print-changed-diff.ll @@ -138,126 +138,126 @@ ret i32 %a } -; CHECK-DIFF-SIMPLE: *** IR Dump At Start: *** +; CHECK-DIFF-SIMPLE: *** IR Dump At Start *** ; CHECK-DIFF-SIMPLE: ModuleID = {{.+}} -; CHECK-DIFF-SIMPLE: *** IR Dump After VerifierPass (module) omitted because no change *** -; CHECK-DIFF-SIMPLE: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-DIFF-SIMPLE: *** IR Dump After VerifierPass on [module] omitted because no change *** +; CHECK-DIFF-SIMPLE: *** IR Dump After InstSimplifyPass on g *** ; CHECK-DIFF-SIMPLE-NOT: ModuleID = {{.+}} ; CHECK-DIFF-SIMPLE-NOT: *** IR{{.*}} ; CHECK-DIFF-SIMPLE: entry: ; CHECK-DIFF-SIMPLE-NEXT:- %a = add i32 2, 3 ; CHECK-DIFF-SIMPLE-NEXT:- ret i32 %a ; CHECK-DIFF-SIMPLE-NEXT:+ ret i32 5 -; CHECK-DIFF-SIMPLE: *** IR Pass PassManager{{.*}} (function: g) ignored *** -; CHECK-DIFF-SIMPLE: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-DIFF-SIMPLE: *** IR Pass PassManager{{.*}} on g ignored *** +; CHECK-DIFF-SIMPLE: *** IR Dump After InstSimplifyPass on f *** ; CHECK-DIFF-SIMPLE-NOT: ModuleID = {{.+}} ; CHECK-DIFF-SIMPLE-NOT: *** IR{{.*}} ; CHECK-DIFF-SIMPLE: entry: ; CHECK-DIFF-SIMPLE-NEXT:- %a = add i32 2, 3 ; CHECK-DIFF-SIMPLE-NEXT:- ret i32 %a ; CHECK-DIFF-SIMPLE-NEXT:+ ret i32 5 -; CHECK-DIFF-SIMPLE: *** IR Pass PassManager{{.*}} (function: f) ignored *** -; CHECK-DIFF-SIMPLE: *** IR Pass ModuleToFunctionPassAdaptor (module) ignored *** -; CHECK-DIFF-SIMPLE: *** IR Dump After VerifierPass (module) omitted because no change *** -; CHECK-DIFF-SIMPLE: *** IR Dump After PrintModulePass (module) omitted because no change *** +; CHECK-DIFF-SIMPLE: *** IR Pass PassManager{{.*}} on f ignored *** +; CHECK-DIFF-SIMPLE: *** IR Pass ModuleToFunctionPassAdaptor on [module] ignored *** +; CHECK-DIFF-SIMPLE: *** IR Dump After VerifierPass on [module] omitted because no change *** +; CHECK-DIFF-SIMPLE: *** IR Dump After PrintModulePass on [module] omitted because no change *** -; CHECK-DIFF-FUNC-FILTER: *** IR Dump At Start: *** +; CHECK-DIFF-FUNC-FILTER: *** IR Dump At Start *** ; CHECK-DIFF-FUNC-FILTER-NEXT: ; ModuleID = {{.+}} -; CHECK-DIFF-FUNC-FILTER: *** IR Dump After InstSimplifyPass (function: g) filtered out *** -; CHECK-DIFF-FUNC-FILTER: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-DIFF-FUNC-FILTER: *** IR Dump After InstSimplifyPass on g filtered out *** +; CHECK-DIFF-FUNC-FILTER: *** IR Dump After InstSimplifyPass on f *** ; CHECK-DIFF-FUNC-FILTER-NOT: ModuleID = {{.+}} ; CHECK-DIFF-FUNC-FILTER: entry: ; CHECK-DIFF-FUNC-FILTER:- %a = add i32 2, 3 ; CHECK-DIFF-FUNC-FILTER:- ret i32 %a ; CHECK-DIFF-FUNC-FILTER:+ ret i32 5 -; CHECK-DIFF-FUNC-FILTER: *** IR Pass PassManager{{.*}} (function: f) ignored *** -; CHECK-DIFF-FUNC-FILTER: *** IR Pass ModuleToFunctionPassAdaptor (module) ignored *** -; CHECK-DIFF-FUNC-FILTER: *** IR Dump After VerifierPass (module) omitted because no change *** -; CHECK-DIFF-FUNC-FILTER: *** IR Dump After PrintModulePass (module) omitted because no change *** +; CHECK-DIFF-FUNC-FILTER: *** IR Pass PassManager{{.*}} on f ignored *** +; CHECK-DIFF-FUNC-FILTER: *** IR Pass ModuleToFunctionPassAdaptor on [module] ignored *** +; CHECK-DIFF-FUNC-FILTER: *** IR Dump After VerifierPass on [module] omitted because no change *** +; CHECK-DIFF-FUNC-FILTER: *** IR Dump After PrintModulePass on [module] omitted because no change *** -; CHECK-DIFF-PRINT-MOD-SCOPE: *** IR Dump At Start: *** +; CHECK-DIFF-PRINT-MOD-SCOPE: *** IR Dump At Start *** ; CHECK-DIFF-PRINT-MOD-SCOPE: ModuleID = {{.+}} -; CHECK-DIFF-PRINT-MOD-SCOPE: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-DIFF-PRINT-MOD-SCOPE: *** IR Dump After InstSimplifyPass on g *** ; CHECK-DIFF-PRINT-MOD-SCOPE-NOT: ModuleID = {{.+}} ; CHECK-DIFF-PRINT-MOD-SCOPE: entry: ; CHECK-DIFF-PRINT-MOD-SCOPE:- %a = add i32 2, 3 ; CHECK-DIFF-PRINT-MOD-SCOPE:- ret i32 %a ; CHECK-DIFF-PRINT-MOD-SCOPE:+ ret i32 5 -; CHECK-DIFF-PRINT-MOD-SCOPE: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-DIFF-PRINT-MOD-SCOPE: *** IR Dump After InstSimplifyPass on f *** ; CHECK-DIFF-PRINT-MOD-SCOPE-NOT: ModuleID = {{.+}} ; CHECK-DIFF-PRINT-MOD-SCOPE: entry: ; CHECK-DIFF-PRINT-MOD-SCOPE:- %a = add i32 2, 3 ; CHECK-DIFF-PRINT-MOD-SCOPE:- ret i32 %a ; CHECK-DIFF-PRINT-MOD-SCOPE:+ ret i32 5 -; CHECK-DIFF-PRINT-MOD-SCOPE: *** IR Pass PassManager{{.*}} (function: f) ignored *** -; CHECK-DIFF-PRINT-MOD-SCOPE: *** IR Pass ModuleToFunctionPassAdaptor (module) ignored *** -; CHECK-DIFF-PRINT-MOD-SCOPE: *** IR Dump After VerifierPass (module) omitted because no change *** -; CHECK-DIFF-PRINT-MOD-SCOPE: *** IR Dump After PrintModulePass (module) omitted because no change *** +; CHECK-DIFF-PRINT-MOD-SCOPE: *** IR Pass PassManager{{.*}} on f ignored *** +; CHECK-DIFF-PRINT-MOD-SCOPE: *** IR Pass ModuleToFunctionPassAdaptor on [module] ignored *** +; CHECK-DIFF-PRINT-MOD-SCOPE: *** IR Dump After VerifierPass on [module] omitted because no change *** +; CHECK-DIFF-PRINT-MOD-SCOPE: *** IR Dump After PrintModulePass on [module] omitted because no change *** -; CHECK-DIFF-FILTER-MULT-FUNC: *** IR Dump At Start: *** -; CHECK-DIFF-FILTER-MULT-FUNC: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-DIFF-FILTER-MULT-FUNC: *** IR Dump At Start *** +; CHECK-DIFF-FILTER-MULT-FUNC: *** IR Dump After InstSimplifyPass on g *** ; CHECK-DIFF-FILTER-MULT-FUNC-NOT: ModuleID = {{.+}} ; CHECK-DIFF-FILTER-MULT-FUNC: entry: ; CHECK-DIFF-FILTER-MULT-FUNC:- %a = add i32 2, 3 ; CHECK-DIFF-FILTER-MULT-FUNC:- ret i32 %a ; CHECK-DIFF-FILTER-MULT-FUNC:+ ret i32 5 -; CHECK-DIFF-FILTER-MULT-FUNC: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-DIFF-FILTER-MULT-FUNC: *** IR Dump After InstSimplifyPass on f *** ; CHECK-DIFF-FILTER-MULT-FUNC-NOT: ModuleID = {{.+}} ; CHECK-DIFF-FILTER-MULT-FUNC: entry: ; CHECK-DIFF-FILTER-MULT-FUNC:- %a = add i32 2, 3 ; CHECK-DIFF-FILTER-MULT-FUNC:- ret i32 %a ; CHECK-DIFF-FILTER-MULT-FUNC:+ ret i32 5 -; CHECK-DIFF-FILTER-MULT-FUNC: *** IR Pass PassManager{{.*}} (function: f) ignored *** -; CHECK-DIFF-FILTER-MULT-FUNC: *** IR Pass ModuleToFunctionPassAdaptor (module) ignored *** -; CHECK-DIFF-FILTER-MULT-FUNC: *** IR Dump After VerifierPass (module) omitted because no change *** -; CHECK-DIFF-FILTER-MULT-FUNC: *** IR Dump After PrintModulePass (module) omitted because no change *** - -; CHECK-DIFF-FILTER-PASSES: *** IR Dump After InstSimplifyPass (function: g) filtered out *** -; CHECK-DIFF-FILTER-PASSES: *** IR Dump At Start: *** (function: g) -; CHECK-DIFF-FILTER-PASSES: *** IR Dump After NoOpFunctionPass (function: g) omitted because no change *** -; CHECK-DIFF-FILTER-PASSES: *** IR Dump After InstSimplifyPass (function: f) filtered out *** -; CHECK-DIFF-FILTER-PASSES: *** IR Dump After NoOpFunctionPass (function: f) omitted because no change *** - -; CHECK-DIFF-FILTER-MULT-PASSES: *** IR Dump At Start: *** (function: g) -; CHECK-DIFF-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-DIFF-FILTER-MULT-FUNC: *** IR Pass PassManager{{.*}} on f ignored *** +; CHECK-DIFF-FILTER-MULT-FUNC: *** IR Pass ModuleToFunctionPassAdaptor on [module] ignored *** +; CHECK-DIFF-FILTER-MULT-FUNC: *** IR Dump After VerifierPass on [module] omitted because no change *** +; CHECK-DIFF-FILTER-MULT-FUNC: *** IR Dump After PrintModulePass on [module] omitted because no change *** + +; CHECK-DIFF-FILTER-PASSES: *** IR Dump After InstSimplifyPass on g filtered out *** +; CHECK-DIFF-FILTER-PASSES: *** IR Dump At Start *** +; CHECK-DIFF-FILTER-PASSES: *** IR Dump After NoOpFunctionPass on g omitted because no change *** +; CHECK-DIFF-FILTER-PASSES: *** IR Dump After InstSimplifyPass on f filtered out *** +; CHECK-DIFF-FILTER-PASSES: *** IR Dump After NoOpFunctionPass on f omitted because no change *** + +; CHECK-DIFF-FILTER-MULT-PASSES: *** IR Dump At Start *** +; CHECK-DIFF-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass on g *** ; CHECK-DIFF-FILTER-MULT-PASSES-NOT: ModuleID = {{.+}} ; CHECK-DIFF-FILTER-MULT-PASSES: entry: ; CHECK-DIFF-FILTER-MULT-PASSES:- %a = add i32 2, 3 ; CHECK-DIFF-FILTER-MULT-PASSES:- ret i32 %a ; CHECK-DIFF-FILTER-MULT-PASSES:+ ret i32 5 -; CHECK-DIFF-FILTER-MULT-PASSES: *** IR Dump After NoOpFunctionPass (function: g) omitted because no change *** -; CHECK-DIFF-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-DIFF-FILTER-MULT-PASSES: *** IR Dump After NoOpFunctionPass on g omitted because no change *** +; CHECK-DIFF-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass on f *** ; CHECK-DIFF-FILTER-MULT-PASSES-NOT: ModuleID = {{.+}} ; CHECK-DIFF-FILTER-MULT-PASSES: entry: ; CHECK-DIFF-FILTER-MULT-PASSES:- %a = add i32 2, 3 ; CHECK-DIFF-FILTER-MULT-PASSES:- ret i32 %a ; CHECK-DIFF-FILTER-MULT-PASSES:+ ret i32 5 -; CHECK-DIFF-FILTER-MULT-PASSES: *** IR Dump After NoOpFunctionPass (function: f) omitted because no change *** +; CHECK-DIFF-FILTER-MULT-PASSES: *** IR Dump After NoOpFunctionPass on f omitted because no change *** -; CHECK-DIFF-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass (function: g) filtered out *** -; CHECK-DIFF-FILTER-FUNC-PASSES: *** IR Dump After NoOpFunctionPass (function: g) filtered out *** -; CHECK-DIFF-FILTER-FUNC-PASSES: *** IR Dump At Start: *** (function: f) -; CHECK-DIFF-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-DIFF-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass on g filtered out *** +; CHECK-DIFF-FILTER-FUNC-PASSES: *** IR Dump After NoOpFunctionPass on g filtered out *** +; CHECK-DIFF-FILTER-FUNC-PASSES: *** IR Dump At Start *** +; CHECK-DIFF-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass on f *** ; CHECK-DIFF-FILTER-FUNC-PASSES-NOT: ModuleID = {{.+}} ; CHECK-DIFF-FILTER-FUNC-PASSES: entry: ; CHECK-DIFF-FILTER-FUNC-PASSES:- %a = add i32 2, 3 ; CHECK-DIFF-FILTER-FUNC-PASSES:- ret i32 %a ; CHECK-DIFF-FILTER-FUNC-PASSES:+ ret i32 5 -; CHECK-DIFF-FILTER-FUNC-PASSES: *** IR Dump After NoOpFunctionPass (function: f) omitted because no change *** +; CHECK-DIFF-FILTER-FUNC-PASSES: *** IR Dump After NoOpFunctionPass on f omitted because no change *** -; CHECK-DIFF-MULT-PASSES-FILTER-FUNC: *** IR Dump At Start: *** -; CHECK-DIFF-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass (function: g) filtered out *** -; CHECK-DIFF-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass (function: g) filtered out *** -; CHECK-DIFF-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-DIFF-MULT-PASSES-FILTER-FUNC: *** IR Dump At Start *** +; CHECK-DIFF-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass on g filtered out *** +; CHECK-DIFF-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass on g filtered out *** +; CHECK-DIFF-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass on f *** ; CHECK-DIFF-MULT-PASSES-FILTER-FUNC-NOT: ModuleID = {{.+}} ; CHECK-DIFF-MULT-PASSES-FILTER-FUNC: entry: ; CHECK-DIFF-MULT-PASSES-FILTER-FUNC:- %a = add i32 2, 3 ; CHECK-DIFF-MULT-PASSES-FILTER-FUNC:- ret i32 %a ; CHECK-DIFF-MULT-PASSES-FILTER-FUNC:+ ret i32 5 -; CHECK-DIFF-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass (function: f) omitted because no change *** +; CHECK-DIFF-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass on f omitted because no change *** -; CHECK-DIFF-QUIET-SIMPLE-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-DIFF-QUIET-SIMPLE: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-DIFF-QUIET-SIMPLE-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-DIFF-QUIET-SIMPLE: *** IR Dump After InstSimplifyPass on g *** ; CHECK-DIFF-QUIET-SIMPLE-NOT: ModuleID = {{.+}} ; CHECK-DIFF-QUIET-SIMPLE-NOT: *** IR{{.*}} ; CHECK-DIFF-QUIET-SIMPLE: entry: @@ -265,7 +265,7 @@ ; CHECK-DIFF-QUIET-SIMPLE-NEXT:- ret i32 %a ; CHECK-DIFF-QUIET-SIMPLE-NEXT:+ ret i32 5 ; CHECK-DIFF-QUIET-SIMPLE-EMPTY: -; CHECK-DIFF-QUIET-SIMPLE-NEXT: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-DIFF-QUIET-SIMPLE-NEXT: *** IR Dump After InstSimplifyPass on f *** ; CHECK-DIFF-QUIET-SIMPLE-NOT: ModuleID = {{.+}} ; CHECK-DIFF-QUIET-SIMPLE-NOT: *** IR{{.*}} ; CHECK-DIFF-QUIET-SIMPLE: entry: @@ -274,8 +274,8 @@ ; CHECK-DIFF-QUIET-SIMPLE-NEXT:+ ret i32 5 ; CHECK-DIFF-QUIET-SIMPLE-NOT: *** IR{{.*}} -; CHECK-DIFF-QUIET-FUNC-FILTER-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-DIFF-QUIET-FUNC-FILTER: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-DIFF-QUIET-FUNC-FILTER-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-DIFF-QUIET-FUNC-FILTER: *** IR Dump After InstSimplifyPass on f *** ; CHECK-DIFF-QUIET-FUNC-FILTER-NOT: ModuleID = {{.+}} ; CHECK-DIFF-QUIET-FUNC-FILTER: entry: ; CHECK-DIFF-QUIET-FUNC-FILTER:- %a = add i32 2, 3 @@ -283,15 +283,15 @@ ; CHECK-DIFF-QUIET-FUNC-FILTER:+ ret i32 5 ; CHECK-DIFF-QUIET-FUNC-FILTER-NOT: *** IR{{.*}} -; CHECK-DIFF-QUIET-PRINT-MOD-SCOPE-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-DIFF-QUIET-PRINT-MOD-SCOPE: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-DIFF-QUIET-PRINT-MOD-SCOPE-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-DIFF-QUIET-PRINT-MOD-SCOPE: *** IR Dump After InstSimplifyPass on g *** ; CHECK-DIFF-QUIET-PRINT-MOD-SCOPE-NOT: ModuleID = {{.+}} ; CHECK-DIFF-QUIET-PRINT-MOD-SCOPE: entry: ; CHECK-DIFF-QUIET-PRINT-MOD-SCOPE:- %a = add i32 2, 3 ; CHECK-DIFF-QUIET-PRINT-MOD-SCOPE:- ret i32 %a ; CHECK-DIFF-QUIET-PRINT-MOD-SCOPE:+ ret i32 5 ; CHECK-DIFF-QUIET-PRINT-MOD-SCOPE-EMPTY: -; CHECK-DIFF-QUIET-PRINT-MOD-SCOPE-NEXT: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-DIFF-QUIET-PRINT-MOD-SCOPE-NEXT: *** IR Dump After InstSimplifyPass on f *** ; CHECK-DIFF-QUIET-PRINT-MOD-SCOPE-NOT: ModuleID = {{.+}} ; CHECK-DIFF-QUIET-PRINT-MOD-SCOPE: entry: ; CHECK-DIFF-QUIET-PRINT-MOD-SCOPE:- %a = add i32 2, 3 @@ -299,15 +299,15 @@ ; CHECK-DIFF-QUIET-PRINT-MOD-SCOPE:+ ret i32 5 ; CHECK-DIFF-QUIET-PRINT-MOD-SCOPE-NOT: *** IR{{.*}} -; CHECK-DIFF-QUIET-FILTER-MULT-FUNC-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-DIFF-QUIET-FILTER-MULT-FUNC: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-DIFF-QUIET-FILTER-MULT-FUNC-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-DIFF-QUIET-FILTER-MULT-FUNC: *** IR Dump After InstSimplifyPass on g *** ; CHECK-DIFF-QUIET-FILTER-MULT-FUNC-NOT: ModuleID = {{.+}} ; CHECK-DIFF-QUIET-FILTER-MULT-FUNC: entry: ; CHECK-DIFF-QUIET-FILTER-MULT-FUNC:- %a = add i32 2, 3 ; CHECK-DIFF-QUIET-FILTER-MULT-FUNC:- ret i32 %a ; CHECK-DIFF-QUIET-FILTER-MULT-FUNC:+ ret i32 5 ; CHECK-DIFF-QUIET-FILTER-MULT-FUNC-EMPTY: -; CHECK-DIFF-QUIET-FILTER-MULT-FUNC-NEXT: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-DIFF-QUIET-FILTER-MULT-FUNC-NEXT: *** IR Dump After InstSimplifyPass on f *** ; CHECK-DIFF-QUIET-FILTER-MULT-FUNC-NOT: ModuleID = {{.+}} ; CHECK-DIFF-QUIET-FILTER-MULT-FUNC: entry: ; CHECK-DIFF-QUIET-FILTER-MULT-FUNC:- %a = add i32 2, 3 @@ -317,15 +317,15 @@ ; CHECK-DIFF-QUIET-FILTER-PASSES-NONE-NOT: *** IR -; CHECK-DIFF-QUIET-FILTER-MULT-PASSES-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-DIFF-QUIET-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-DIFF-QUIET-FILTER-MULT-PASSES-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-DIFF-QUIET-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass on g *** ; CHECK-DIFF-QUIET-FILTER-MULT-PASSES-NOT: ModuleID = {{.+}} ; CHECK-DIFF-QUIET-FILTER-MULT-PASSES: entry: ; CHECK-DIFF-QUIET-FILTER-MULT-PASSES:- %a = add i32 2, 3 ; CHECK-DIFF-QUIET-FILTER-MULT-PASSES:- ret i32 %a ; CHECK-DIFF-QUIET-FILTER-MULT-PASSES:+ ret i32 5 ; CHECK-DIFF-QUIET-FILTER-MULT-PASSES-EMPTY: -; CHECK-DIFF-QUIET-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-DIFF-QUIET-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass on f *** ; CHECK-DIFF-QUIET-FILTER-MULT-PASSES-NOT: ModuleID = {{.+}} ; CHECK-DIFF-QUIET-FILTER-MULT-PASSES: entry: ; CHECK-DIFF-QUIET-FILTER-MULT-PASSES:- %a = add i32 2, 3 @@ -333,8 +333,8 @@ ; CHECK-DIFF-QUIET-FILTER-MULT-PASSES:+ ret i32 5 ; CHECK-DIFF-QUIET-FILTER-MULT-PASSES-NOT: *** IR -; CHECK-DIFF-QUIET-FILTER-FUNC-PASSES-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-DIFF-QUIET-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-DIFF-QUIET-FILTER-FUNC-PASSES-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-DIFF-QUIET-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass on f *** ; CHECK-DIFF-QUIET-FILTER-FUNC-PASSES-NOT: ModuleID = {{.+}} ; CHECK-DIFF-QUIET-FILTER-FUNC-PASSES: entry: ; CHECK-DIFF-QUIET-FILTER-FUNC-PASSES:- %a = add i32 2, 3 @@ -342,8 +342,8 @@ ; CHECK-DIFF-QUIET-FILTER-FUNC-PASSES:+ ret i32 5 ; CHECK-DIFF-QUIET-FILTER-FUNC-PASSES-NOT: *** IR -; CHECK-DIFF-QUIET-MULT-PASSES-FILTER-FUNC-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-DIFF-QUIET-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-DIFF-QUIET-MULT-PASSES-FILTER-FUNC-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-DIFF-QUIET-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass on f *** ; CHECK-DIFF-QUIET-MULT-PASSES-FILTER-FUNC-NOT: ModuleID = {{.+}} ; CHECK-DIFF-QUIET-MULT-PASSES-FILTER-FUNC: entry: ; CHECK-DIFF-QUIET-MULT-PASSES-FILTER-FUNC:- %a = add i32 2, 3 @@ -351,126 +351,126 @@ ; CHECK-DIFF-QUIET-MULT-PASSES-FILTER-FUNC:+ ret i32 5 ; CHECK-DIFF-QUIET-MULT-PASSES-FILTER-FUNC-NOT: *** IR -; CHECK-CDIFF-SIMPLE: *** IR Dump At Start: *** +; CHECK-CDIFF-SIMPLE: *** IR Dump At Start *** ; CHECK-CDIFF-SIMPLE: ModuleID = {{.+}} -; CHECK-CDIFF-SIMPLE: *** IR Dump After VerifierPass (module) omitted because no change *** -; CHECK-CDIFF-SIMPLE: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-CDIFF-SIMPLE: *** IR Dump After VerifierPass on [module] omitted because no change *** +; CHECK-CDIFF-SIMPLE: *** IR Dump After InstSimplifyPass on g *** ; CHECK-CDIFF-SIMPLE-NOT: ModuleID = {{.+}} ; CHECK-CDIFF-SIMPLE-NOT: *** IR{{.*}} ; CHECK-CDIFF-SIMPLE: entry: ; CHECK-CDIFF-SIMPLE-NEXT:{{.\[31m-}} %a = add i32 2, 3{{.\[0m}} ; CHECK-CDIFF-SIMPLE-NEXT:{{.\[31m-}} ret i32 %a{{.\[0m}} ; CHECK-CDIFF-SIMPLE-NEXT:{{.\[32m\+}} ret i32 5{{.\[0m}} -; CHECK-CDIFF-SIMPLE: *** IR Pass PassManager{{.*}} (function: g) ignored *** -; CHECK-CDIFF-SIMPLE: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-CDIFF-SIMPLE: *** IR Pass PassManager{{.*}} on g ignored *** +; CHECK-CDIFF-SIMPLE: *** IR Dump After InstSimplifyPass on f *** ; CHECK-CDIFF-SIMPLE-NOT: ModuleID = {{.+}} ; CHECK-CDIFF-SIMPLE-NOT: *** IR{{.*}} ; CHECK-CDIFF-SIMPLE: entry: ; CHECK-CDIFF-SIMPLE-NEXT:{{.\[31m-}} %a = add i32 2, 3{{.\[0m}} ; CHECK-CDIFF-SIMPLE-NEXT:{{.\[31m-}} ret i32 %a{{.\[0m}} ; CHECK-CDIFF-SIMPLE-NEXT:{{.\[32m\+}} ret i32 5{{.\[0m}} -; CHECK-CDIFF-SIMPLE: *** IR Pass PassManager{{.*}} (function: f) ignored *** -; CHECK-CDIFF-SIMPLE: *** IR Pass ModuleToFunctionPassAdaptor (module) ignored *** -; CHECK-CDIFF-SIMPLE: *** IR Dump After VerifierPass (module) omitted because no change *** -; CHECK-CDIFF-SIMPLE: *** IR Dump After PrintModulePass (module) omitted because no change *** +; CHECK-CDIFF-SIMPLE: *** IR Pass PassManager{{.*}} on f ignored *** +; CHECK-CDIFF-SIMPLE: *** IR Pass ModuleToFunctionPassAdaptor on [module] ignored *** +; CHECK-CDIFF-SIMPLE: *** IR Dump After VerifierPass on [module] omitted because no change *** +; CHECK-CDIFF-SIMPLE: *** IR Dump After PrintModulePass on [module] omitted because no change *** -; CHECK-CDIFF-FUNC-FILTER: *** IR Dump At Start: *** +; CHECK-CDIFF-FUNC-FILTER: *** IR Dump At Start *** ; CHECK-CDIFF-FUNC-FILTER-NEXT: ; ModuleID = {{.+}} -; CHECK-CDIFF-FUNC-FILTER: *** IR Dump After InstSimplifyPass (function: g) filtered out *** -; CHECK-CDIFF-FUNC-FILTER: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-CDIFF-FUNC-FILTER: *** IR Dump After InstSimplifyPass on g filtered out *** +; CHECK-CDIFF-FUNC-FILTER: *** IR Dump After InstSimplifyPass on f *** ; CHECK-CDIFF-FUNC-FILTER-NOT: ModuleID = {{.+}} ; CHECK-CDIFF-FUNC-FILTER: entry: ; CHECK-CDIFF-FUNC-FILTER:{{.\[31m-}} %a = add i32 2, 3{{.\[0m}} ; CHECK-CDIFF-FUNC-FILTER:{{.\[31m-}} ret i32 %a{{.\[0m}} ; CHECK-CDIFF-FUNC-FILTER:{{.\[32m\+}} ret i32 5{{.\[0m}} -; CHECK-CDIFF-FUNC-FILTER: *** IR Pass PassManager{{.*}} (function: f) ignored *** -; CHECK-CDIFF-FUNC-FILTER: *** IR Pass ModuleToFunctionPassAdaptor (module) ignored *** -; CHECK-CDIFF-FUNC-FILTER: *** IR Dump After VerifierPass (module) omitted because no change *** -; CHECK-CDIFF-FUNC-FILTER: *** IR Dump After PrintModulePass (module) omitted because no change *** +; CHECK-CDIFF-FUNC-FILTER: *** IR Pass PassManager{{.*}} on f ignored *** +; CHECK-CDIFF-FUNC-FILTER: *** IR Pass ModuleToFunctionPassAdaptor on [module] ignored *** +; CHECK-CDIFF-FUNC-FILTER: *** IR Dump After VerifierPass on [module] omitted because no change *** +; CHECK-CDIFF-FUNC-FILTER: *** IR Dump After PrintModulePass on [module] omitted because no change *** -; CHECK-CDIFF-PRINT-MOD-SCOPE: *** IR Dump At Start: *** +; CHECK-CDIFF-PRINT-MOD-SCOPE: *** IR Dump At Start *** ; CHECK-CDIFF-PRINT-MOD-SCOPE: ModuleID = {{.+}} -; CHECK-CDIFF-PRINT-MOD-SCOPE: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-CDIFF-PRINT-MOD-SCOPE: *** IR Dump After InstSimplifyPass on g *** ; CHECK-CDIFF-PRINT-MOD-SCOPE-NOT: ModuleID = {{.+}} ; CHECK-CDIFF-PRINT-MOD-SCOPE: entry: ; CHECK-CDIFF-PRINT-MOD-SCOPE:{{.\[31m-}} %a = add i32 2, 3{{.\[0m}} ; CHECK-CDIFF-PRINT-MOD-SCOPE:{{.\[31m-}} ret i32 %a{{.\[0m}} ; CHECK-CDIFF-PRINT-MOD-SCOPE:{{.\[32m\+}} ret i32 5{{.\[0m}} -; CHECK-CDIFF-PRINT-MOD-SCOPE: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-CDIFF-PRINT-MOD-SCOPE: *** IR Dump After InstSimplifyPass on f *** ; CHECK-CDIFF-PRINT-MOD-SCOPE-NOT: ModuleID = {{.+}} ; CHECK-CDIFF-PRINT-MOD-SCOPE: entry: ; CHECK-CDIFF-PRINT-MOD-SCOPE:{{.\[31m-}} %a = add i32 2, 3{{.\[0m}} ; CHECK-CDIFF-PRINT-MOD-SCOPE:{{.\[31m-}} ret i32 %a{{.\[0m}} ; CHECK-CDIFF-PRINT-MOD-SCOPE:{{.\[32m\+}} ret i32 5{{.\[0m}} -; CHECK-CDIFF-PRINT-MOD-SCOPE: *** IR Pass PassManager{{.*}} (function: f) ignored *** -; CHECK-CDIFF-PRINT-MOD-SCOPE: *** IR Pass ModuleToFunctionPassAdaptor (module) ignored *** -; CHECK-CDIFF-PRINT-MOD-SCOPE: *** IR Dump After VerifierPass (module) omitted because no change *** -; CHECK-CDIFF-PRINT-MOD-SCOPE: *** IR Dump After PrintModulePass (module) omitted because no change *** +; CHECK-CDIFF-PRINT-MOD-SCOPE: *** IR Pass PassManager{{.*}} on f ignored *** +; CHECK-CDIFF-PRINT-MOD-SCOPE: *** IR Pass ModuleToFunctionPassAdaptor on [module] ignored *** +; CHECK-CDIFF-PRINT-MOD-SCOPE: *** IR Dump After VerifierPass on [module] omitted because no change *** +; CHECK-CDIFF-PRINT-MOD-SCOPE: *** IR Dump After PrintModulePass on [module] omitted because no change *** -; CHECK-CDIFF-FILTER-MULT-FUNC: *** IR Dump At Start: *** -; CHECK-CDIFF-FILTER-MULT-FUNC: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-CDIFF-FILTER-MULT-FUNC: *** IR Dump At Start *** +; CHECK-CDIFF-FILTER-MULT-FUNC: *** IR Dump After InstSimplifyPass on g *** ; CHECK-CDIFF-FILTER-MULT-FUNC-NOT: ModuleID = {{.+}} ; CHECK-CDIFF-FILTER-MULT-FUNC: entry: ; CHECK-CDIFF-FILTER-MULT-FUNC:{{.\[31m-}} %a = add i32 2, 3{{.\[0m}} ; CHECK-CDIFF-FILTER-MULT-FUNC:{{.\[31m-}} ret i32 %a{{.\[0m}} ; CHECK-CDIFF-FILTER-MULT-FUNC:{{.\[32m\+}} ret i32 5{{.\[0m}} -; CHECK-CDIFF-FILTER-MULT-FUNC: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-CDIFF-FILTER-MULT-FUNC: *** IR Dump After InstSimplifyPass on f *** ; CHECK-CDIFF-FILTER-MULT-FUNC-NOT: ModuleID = {{.+}} ; CHECK-CDIFF-FILTER-MULT-FUNC: entry: ; CHECK-CDIFF-FILTER-MULT-FUNC:{{.\[31m-}} %a = add i32 2, 3{{.\[0m}} ; CHECK-CDIFF-FILTER-MULT-FUNC:{{.\[31m-}} ret i32 %a{{.\[0m}} ; CHECK-CDIFF-FILTER-MULT-FUNC:{{.\[32m\+}} ret i32 5{{.\[0m}} -; CHECK-CDIFF-FILTER-MULT-FUNC: *** IR Pass PassManager{{.*}} (function: f) ignored *** -; CHECK-CDIFF-FILTER-MULT-FUNC: *** IR Pass ModuleToFunctionPassAdaptor (module) ignored *** -; CHECK-CDIFF-FILTER-MULT-FUNC: *** IR Dump After VerifierPass (module) omitted because no change *** -; CHECK-CDIFF-FILTER-MULT-FUNC: *** IR Dump After PrintModulePass (module) omitted because no change *** - -; CHECK-CDIFF-FILTER-PASSES: *** IR Dump After InstSimplifyPass (function: g) filtered out *** -; CHECK-CDIFF-FILTER-PASSES: *** IR Dump At Start: *** (function: g) -; CHECK-CDIFF-FILTER-PASSES: *** IR Dump After NoOpFunctionPass (function: g) omitted because no change *** -; CHECK-CDIFF-FILTER-PASSES: *** IR Dump After InstSimplifyPass (function: f) filtered out *** -; CHECK-CDIFF-FILTER-PASSES: *** IR Dump After NoOpFunctionPass (function: f) omitted because no change *** - -; CHECK-CDIFF-FILTER-MULT-PASSES: *** IR Dump At Start: *** (function: g) -; CHECK-CDIFF-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-CDIFF-FILTER-MULT-FUNC: *** IR Pass PassManager{{.*}} on f ignored *** +; CHECK-CDIFF-FILTER-MULT-FUNC: *** IR Pass ModuleToFunctionPassAdaptor on [module] ignored *** +; CHECK-CDIFF-FILTER-MULT-FUNC: *** IR Dump After VerifierPass on [module] omitted because no change *** +; CHECK-CDIFF-FILTER-MULT-FUNC: *** IR Dump After PrintModulePass on [module] omitted because no change *** + +; CHECK-CDIFF-FILTER-PASSES: *** IR Dump After InstSimplifyPass on g filtered out *** +; CHECK-CDIFF-FILTER-PASSES: *** IR Dump At Start *** +; CHECK-CDIFF-FILTER-PASSES: *** IR Dump After NoOpFunctionPass on g omitted because no change *** +; CHECK-CDIFF-FILTER-PASSES: *** IR Dump After InstSimplifyPass on f filtered out *** +; CHECK-CDIFF-FILTER-PASSES: *** IR Dump After NoOpFunctionPass on f omitted because no change *** + +; CHECK-CDIFF-FILTER-MULT-PASSES: *** IR Dump At Start *** +; CHECK-CDIFF-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass on g *** ; CHECK-CDIFF-FILTER-MULT-PASSES-NOT: ModuleID = {{.+}} ; CHECK-CDIFF-FILTER-MULT-PASSES: entry: ; CHECK-CDIFF-FILTER-MULT-PASSES:{{.\[31m-}} %a = add i32 2, 3{{.\[0m}} ; CHECK-CDIFF-FILTER-MULT-PASSES:{{.\[31m-}} ret i32 %a{{.\[0m}} ; CHECK-CDIFF-FILTER-MULT-PASSES:{{.\[32m\+}} ret i32 5{{.\[0m}} -; CHECK-CDIFF-FILTER-MULT-PASSES: *** IR Dump After NoOpFunctionPass (function: g) omitted because no change *** -; CHECK-CDIFF-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-CDIFF-FILTER-MULT-PASSES: *** IR Dump After NoOpFunctionPass on g omitted because no change *** +; CHECK-CDIFF-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass on f *** ; CHECK-CDIFF-FILTER-MULT-PASSES-NOT: ModuleID = {{.+}} ; CHECK-CDIFF-FILTER-MULT-PASSES: entry: ; CHECK-CDIFF-FILTER-MULT-PASSES:{{.\[31m-}} %a = add i32 2, 3{{.\[0m}} ; CHECK-CDIFF-FILTER-MULT-PASSES:{{.\[31m-}} ret i32 %a{{.\[0m}} ; CHECK-CDIFF-FILTER-MULT-PASSES:{{.\[32m\+}} ret i32 5{{.\[0m}} -; CHECK-CDIFF-FILTER-MULT-PASSES: *** IR Dump After NoOpFunctionPass (function: f) omitted because no change *** +; CHECK-CDIFF-FILTER-MULT-PASSES: *** IR Dump After NoOpFunctionPass on f omitted because no change *** -; CHECK-CDIFF-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass (function: g) filtered out *** -; CHECK-CDIFF-FILTER-FUNC-PASSES: *** IR Dump After NoOpFunctionPass (function: g) filtered out *** -; CHECK-CDIFF-FILTER-FUNC-PASSES: *** IR Dump At Start: *** (function: f) -; CHECK-CDIFF-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-CDIFF-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass on g filtered out *** +; CHECK-CDIFF-FILTER-FUNC-PASSES: *** IR Dump After NoOpFunctionPass on g filtered out *** +; CHECK-CDIFF-FILTER-FUNC-PASSES: *** IR Dump At Start *** +; CHECK-CDIFF-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass on f *** ; CHECK-CDIFF-FILTER-FUNC-PASSES-NOT: ModuleID = {{.+}} ; CHECK-CDIFF-FILTER-FUNC-PASSES: entry: ; CHECK-CDIFF-FILTER-FUNC-PASSES:{{.\[31m-}} %a = add i32 2, 3{{.\[0m}} ; CHECK-CDIFF-FILTER-FUNC-PASSES:{{.\[31m-}} ret i32 %a{{.\[0m}} ; CHECK-CDIFF-FILTER-FUNC-PASSES:{{.\[32m\+}} ret i32 5{{.\[0m}} -; CHECK-CDIFF-FILTER-FUNC-PASSES: *** IR Dump After NoOpFunctionPass (function: f) omitted because no change *** +; CHECK-CDIFF-FILTER-FUNC-PASSES: *** IR Dump After NoOpFunctionPass on f omitted because no change *** -; CHECK-CDIFF-MULT-PASSES-FILTER-FUNC: *** IR Dump At Start: *** -; CHECK-CDIFF-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass (function: g) filtered out *** -; CHECK-CDIFF-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass (function: g) filtered out *** -; CHECK-CDIFF-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-CDIFF-MULT-PASSES-FILTER-FUNC: *** IR Dump At Start *** +; CHECK-CDIFF-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass on g filtered out *** +; CHECK-CDIFF-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass on g filtered out *** +; CHECK-CDIFF-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass on f *** ; CHECK-CDIFF-MULT-PASSES-FILTER-FUNC-NOT: ModuleID = {{.+}} ; CHECK-CDIFF-MULT-PASSES-FILTER-FUNC: entry: ; CHECK-CDIFF-MULT-PASSES-FILTER-FUNC:{{.\[31m-}} %a = add i32 2, 3{{.\[0m}} ; CHECK-CDIFF-MULT-PASSES-FILTER-FUNC:{{.\[31m-}} ret i32 %a{{.\[0m}} ; CHECK-CDIFF-MULT-PASSES-FILTER-FUNC:{{.\[32m\+}} ret i32 5{{.\[0m}} -; CHECK-CDIFF-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass (function: f) omitted because no change *** +; CHECK-CDIFF-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass on f omitted because no change *** -; CHECK-CDIFF-QUIET-SIMPLE-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-CDIFF-QUIET-SIMPLE: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-CDIFF-QUIET-SIMPLE-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-CDIFF-QUIET-SIMPLE: *** IR Dump After InstSimplifyPass on g *** ; CHECK-CDIFF-QUIET-SIMPLE-NOT: ModuleID = {{.+}} ; CHECK-CDIFF-QUIET-SIMPLE-NOT: *** IR{{.*}} ; CHECK-CDIFF-QUIET-SIMPLE: entry: @@ -478,7 +478,7 @@ ; CHECK-CDIFF-QUIET-SIMPLE-NEXT:{{.\[31m-}} ret i32 %a{{.\[0m}} ; CHECK-CDIFF-QUIET-SIMPLE-NEXT:{{.\[32m\+}} ret i32 5{{.\[0m}} ; CHECK-CDIFF-QUIET-SIMPLE-EMPTY: -; CHECK-CDIFF-QUIET-SIMPLE-NEXT: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-CDIFF-QUIET-SIMPLE-NEXT: *** IR Dump After InstSimplifyPass on f *** ; CHECK-CDIFF-QUIET-SIMPLE-NOT: ModuleID = {{.+}} ; CHECK-CDIFF-QUIET-SIMPLE-NOT: *** IR{{.*}} ; CHECK-CDIFF-QUIET-SIMPLE: entry: @@ -487,8 +487,8 @@ ; CHECK-CDIFF-QUIET-SIMPLE-NEXT:{{.\[32m\+}} ret i32 5{{.\[0m}} ; CHECK-CDIFF-QUIET-SIMPLE-NOT: *** IR{{.*}} -; CHECK-CDIFF-QUIET-FUNC-FILTER-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-CDIFF-QUIET-FUNC-FILTER: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-CDIFF-QUIET-FUNC-FILTER-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-CDIFF-QUIET-FUNC-FILTER: *** IR Dump After InstSimplifyPass on f *** ; CHECK-CDIFF-QUIET-FUNC-FILTER-NOT: ModuleID = {{.+}} ; CHECK-CDIFF-QUIET-FUNC-FILTER: entry: ; CHECK-CDIFF-QUIET-FUNC-FILTER:{{.\[31m-}} %a = add i32 2, 3{{.\[0m}} @@ -496,15 +496,15 @@ ; CHECK-CDIFF-QUIET-FUNC-FILTER:{{.\[32m\+}} ret i32 5{{.\[0m}} ; CHECK-CDIFF-QUIET-FUNC-FILTER-NOT: *** IR{{.*}} -; CHECK-CDIFF-QUIET-PRINT-MOD-SCOPE-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-CDIFF-QUIET-PRINT-MOD-SCOPE: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-CDIFF-QUIET-PRINT-MOD-SCOPE-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-CDIFF-QUIET-PRINT-MOD-SCOPE: *** IR Dump After InstSimplifyPass on g *** ; CHECK-CDIFF-QUIET-PRINT-MOD-SCOPE-NOT: ModuleID = {{.+}} ; CHECK-CDIFF-QUIET-PRINT-MOD-SCOPE: entry: ; CHECK-CDIFF-QUIET-PRINT-MOD-SCOPE:{{.\[31m-}} %a = add i32 2, 3{{.\[0m}} ; CHECK-CDIFF-QUIET-PRINT-MOD-SCOPE:{{.\[31m-}} ret i32 %a{{.\[0m}} ; CHECK-CDIFF-QUIET-PRINT-MOD-SCOPE:{{.\[32m\+}} ret i32 5{{.\[0m}} ; CHECK-CDIFF-QUIET-PRINT-MOD-SCOPE-EMPTY: -; CHECK-CDIFF-QUIET-PRINT-MOD-SCOPE-NEXT: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-CDIFF-QUIET-PRINT-MOD-SCOPE-NEXT: *** IR Dump After InstSimplifyPass on f *** ; CHECK-CDIFF-QUIET-PRINT-MOD-SCOPE-NOT: ModuleID = {{.+}} ; CHECK-CDIFF-QUIET-PRINT-MOD-SCOPE: entry: ; CHECK-CDIFF-QUIET-PRINT-MOD-SCOPE:{{.\[31m-}} %a = add i32 2, 3{{.\[0m}} @@ -512,15 +512,15 @@ ; CHECK-CDIFF-QUIET-PRINT-MOD-SCOPE:{{.\[32m\+}} ret i32 5{{.\[0m}} ; CHECK-CDIFF-QUIET-PRINT-MOD-SCOPE-NOT: *** IR{{.*}} -; CHECK-CDIFF-QUIET-FILTER-MULT-FUNC-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-CDIFF-QUIET-FILTER-MULT-FUNC: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-CDIFF-QUIET-FILTER-MULT-FUNC-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-CDIFF-QUIET-FILTER-MULT-FUNC: *** IR Dump After InstSimplifyPass on g *** ; CHECK-CDIFF-QUIET-FILTER-MULT-FUNC-NOT: ModuleID = {{.+}} ; CHECK-CDIFF-QUIET-FILTER-MULT-FUNC: entry: ; CHECK-CDIFF-QUIET-FILTER-MULT-FUNC:{{.\[31m-}} %a = add i32 2, 3{{.\[0m}} ; CHECK-CDIFF-QUIET-FILTER-MULT-FUNC:{{.\[31m-}} ret i32 %a{{.\[0m}} ; CHECK-CDIFF-QUIET-FILTER-MULT-FUNC:{{.\[32m\+}} ret i32 5{{.\[0m}} ; CHECK-CDIFF-QUIET-FILTER-MULT-FUNC-EMPTY: -; CHECK-CDIFF-QUIET-FILTER-MULT-FUNC-NEXT: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-CDIFF-QUIET-FILTER-MULT-FUNC-NEXT: *** IR Dump After InstSimplifyPass on f *** ; CHECK-CDIFF-QUIET-FILTER-MULT-FUNC-NOT: ModuleID = {{.+}} ; CHECK-CDIFF-QUIET-FILTER-MULT-FUNC: entry: ; CHECK-CDIFF-QUIET-FILTER-MULT-FUNC:{{.\[31m-}} %a = add i32 2, 3{{.\[0m}} @@ -530,15 +530,15 @@ ; CHECK-CDIFF-QUIET-FILTER-PASSES-NONE-NOT: *** IR -; CHECK-CDIFF-QUIET-FILTER-MULT-PASSES-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-CDIFF-QUIET-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-CDIFF-QUIET-FILTER-MULT-PASSES-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-CDIFF-QUIET-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass on g *** ; CHECK-CDIFF-QUIET-FILTER-MULT-PASSES-NOT: ModuleID = {{.+}} ; CHECK-CDIFF-QUIET-FILTER-MULT-PASSES: entry: ; CHECK-CDIFF-QUIET-FILTER-MULT-PASSES:{{.\[31m-}} %a = add i32 2, 3{{.\[0m}} ; CHECK-CDIFF-QUIET-FILTER-MULT-PASSES:{{.\[31m-}} ret i32 %a{{.\[0m}} ; CHECK-CDIFF-QUIET-FILTER-MULT-PASSES:{{.\[32m\+}} ret i32 5{{.\[0m}} ; CHECK-CDIFF-QUIET-FILTER-MULT-PASSES-EMPTY: -; CHECK-CDIFF-QUIET-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-CDIFF-QUIET-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass on f *** ; CHECK-CDIFF-QUIET-FILTER-MULT-PASSES-NOT: ModuleID = {{.+}} ; CHECK-CDIFF-QUIET-FILTER-MULT-PASSES: entry: ; CHECK-CDIFF-QUIET-FILTER-MULT-PASSES:{{.\[31m-}} %a = add i32 2, 3{{.\[0m}} @@ -546,8 +546,8 @@ ; CHECK-CDIFF-QUIET-FILTER-MULT-PASSES:{{.\[32m\+}} ret i32 5{{.\[0m}} ; CHECK-CDIFF-QUIET-FILTER-MULT-PASSES-NOT: *** IR -; CHECK-CDIFF-QUIET-FILTER-FUNC-PASSES-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-CDIFF-QUIET-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-CDIFF-QUIET-FILTER-FUNC-PASSES-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-CDIFF-QUIET-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass on f *** ; CHECK-CDIFF-QUIET-FILTER-FUNC-PASSES-NOT: ModuleID = {{.+}} ; CHECK-CDIFF-QUIET-FILTER-FUNC-PASSES: entry: ; CHECK-CDIFF-QUIET-FILTER-FUNC-PASSES:{{.\[31m-}} %a = add i32 2, 3{{.\[0m}} @@ -555,8 +555,8 @@ ; CHECK-CDIFF-QUIET-FILTER-FUNC-PASSES:{{.\[32m\+}} ret i32 5{{.\[0m}} ; CHECK-CDIFF-QUIET-FILTER-FUNC-PASSES-NOT: *** IR -; CHECK-CDIFF-QUIET-MULT-PASSES-FILTER-FUNC-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-CDIFF-QUIET-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-CDIFF-QUIET-MULT-PASSES-FILTER-FUNC-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-CDIFF-QUIET-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass on f *** ; CHECK-CDIFF-QUIET-MULT-PASSES-FILTER-FUNC-NOT: ModuleID = {{.+}} ; CHECK-CDIFF-QUIET-MULT-PASSES-FILTER-FUNC: entry: ; CHECK-CDIFF-QUIET-MULT-PASSES-FILTER-FUNC:{{.\[31m-}} %a = add i32 2, 3{{.\[0m}} diff --git a/llvm/test/Other/change-printer.ll b/llvm/test/Other/change-printer.ll --- a/llvm/test/Other/change-printer.ll +++ b/llvm/test/Other/change-printer.ll @@ -107,220 +107,220 @@ ret i32 %a } -; CHECK-SIMPLE: *** IR Dump At Start: *** +; CHECK-SIMPLE: *** IR Dump At Start *** ; CHECK-SIMPLE-NEXT: ; ModuleID = {{.+}} -; CHECK-SIMPLE: *** IR Dump After VerifierPass (module) omitted because no change *** -; CHECK-SIMPLE: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-SIMPLE: *** IR Dump After VerifierPass on [module] omitted because no change *** +; CHECK-SIMPLE: *** IR Dump After InstSimplifyPass on g *** ; CHECK-SIMPLE-NEXT: define i32 @g() -; CHECK-SIMPLE: *** IR Pass PassManager{{.*}} (function: g) ignored *** -; CHECK-SIMPLE: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-SIMPLE: *** IR Pass PassManager{{.*}} on g ignored *** +; CHECK-SIMPLE: *** IR Dump After InstSimplifyPass on f *** ; CHECK-SIMPLE-NEXT: define i32 @f() -; CHECK-SIMPLE: *** IR Pass PassManager{{.*}} (function: f) ignored *** -; CHECK-SIMPLE: *** IR Pass ModuleToFunctionPassAdaptor (module) ignored *** -; CHECK-SIMPLE: *** IR Dump After VerifierPass (module) omitted because no change *** -; CHECK-SIMPLE: *** IR Dump After PrintModulePass (module) omitted because no change *** +; CHECK-SIMPLE: *** IR Pass PassManager{{.*}} on f ignored *** +; CHECK-SIMPLE: *** IR Pass ModuleToFunctionPassAdaptor on [module] ignored *** +; CHECK-SIMPLE: *** IR Dump After VerifierPass on [module] omitted because no change *** +; CHECK-SIMPLE: *** IR Dump After PrintModulePass on [module] omitted because no change *** ; CHECK-SIMPLE-NOT: *** IR -; CHECK-FUNC-FILTER: *** IR Dump At Start: *** +; CHECK-FUNC-FILTER: *** IR Dump At Start *** ; CHECK-FUNC-FILTER-NEXT: ; ModuleID = {{.+}} -; CHECK-FUNC-FILTER: *** IR Dump After InstSimplifyPass (function: g) filtered out *** -; CHECK-FUNC-FILTER: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-FUNC-FILTER: *** IR Dump After InstSimplifyPass on g filtered out *** +; CHECK-FUNC-FILTER: *** IR Dump After InstSimplifyPass on f *** ; CHECK-FUNC-FILTER-NEXT: define i32 @f() -; CHECK-PRINT-MOD-SCOPE: *** IR Dump At Start: *** +; CHECK-PRINT-MOD-SCOPE: *** IR Dump At Start *** ; CHECK-PRINT-MOD-SCOPE-NEXT: ModuleID = {{.+}} -; CHECK-PRINT-MOD-SCOPE: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-PRINT-MOD-SCOPE: *** IR Dump After InstSimplifyPass on g *** ; CHECK-PRINT-MOD-SCOPE-NEXT: ModuleID = {{.+}} -; CHECK-PRINT-MOD-SCOPE: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-PRINT-MOD-SCOPE: *** IR Dump After InstSimplifyPass on f *** ; CHECK-PRINT-MOD-SCOPE-NEXT: ModuleID = {{.+}} -; CHECK-FUNC-FILTER-MOD-SCOPE: *** IR Dump At Start: *** +; CHECK-FUNC-FILTER-MOD-SCOPE: *** IR Dump At Start *** ; CHECK-FUNC-FILTER-MOD-SCOPE-NEXT: ; ModuleID = {{.+}} -; CHECK-FUNC-FILTER-MOD-SCOPE: *** IR Dump After InstSimplifyPass (function: g) filtered out *** -; CHECK-FUNC-FILTER-MOD-SCOPE: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-FUNC-FILTER-MOD-SCOPE: *** IR Dump After InstSimplifyPass on g filtered out *** +; CHECK-FUNC-FILTER-MOD-SCOPE: *** IR Dump After InstSimplifyPass on f *** ; CHECK-FUNC-FILTER-MOD-SCOPE-NEXT: ModuleID = {{.+}} -; CHECK-FILTER-MULT-FUNC: *** IR Dump At Start: *** +; CHECK-FILTER-MULT-FUNC: *** IR Dump At Start *** ; CHECK-FILTER-MULT-FUNC-NEXT: ; ModuleID = {{.+}} -; CHECK-FILTER-MULT-FUNC: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-FILTER-MULT-FUNC: *** IR Dump After InstSimplifyPass on g *** ; CHECK-FILTER-MULT-FUNC-NEXT: define i32 @g() -; CHECK-FILTER-MULT-FUNC: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-FILTER-MULT-FUNC: *** IR Dump After InstSimplifyPass on f *** ; CHECK-FILTER-MULT-FUNC-NEXT: define i32 @f() -; CHECK-FILTER-PASSES: *** IR Dump After InstSimplifyPass (function: g) filtered out *** -; CHECK-FILTER-PASSES: *** IR Dump At Start: *** (function: g) +; CHECK-FILTER-PASSES: *** IR Dump After InstSimplifyPass on g filtered out *** +; CHECK-FILTER-PASSES: *** IR Dump At Start *** ; CHECK-FILTER-PASSES-NEXT: ; ModuleID = {{.+}} -; CHECK-FILTER-PASSES: *** IR Dump After NoOpFunctionPass (function: g) omitted because no change *** -; CHECK-FILTER-PASSES: *** IR Dump After InstSimplifyPass (function: f) filtered out *** -; CHECK-FILTER-PASSES: *** IR Dump After NoOpFunctionPass (function: f) omitted because no change *** +; CHECK-FILTER-PASSES: *** IR Dump After NoOpFunctionPass on g omitted because no change *** +; CHECK-FILTER-PASSES: *** IR Dump After InstSimplifyPass on f filtered out *** +; CHECK-FILTER-PASSES: *** IR Dump After NoOpFunctionPass on f omitted because no change *** -; CHECK-FILTER-MULT-PASSES: *** IR Dump At Start: *** (function: g) +; CHECK-FILTER-MULT-PASSES: *** IR Dump At Start *** ; CHECK-FILTER-MULT-PASSES-NEXT: ; ModuleID = {{.+}} -; CHECK-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass on g *** ; CHECK-FILTER-MULT-PASSES-NEXT: define i32 @g() -; CHECK-FILTER-MULT-PASSES: *** IR Dump After NoOpFunctionPass (function: g) omitted because no change *** -; CHECK-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-FILTER-MULT-PASSES: *** IR Dump After NoOpFunctionPass on g omitted because no change *** +; CHECK-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass on f *** ; CHECK-FILTER-MULT-PASSES-NEXT: define i32 @f() -; CHECK-FILTER-MULT-PASSES: *** IR Dump After NoOpFunctionPass (function: f) omitted because no change *** +; CHECK-FILTER-MULT-PASSES: *** IR Dump After NoOpFunctionPass on f omitted because no change *** -; CHECK-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass (function: g) filtered out *** -; CHECK-FILTER-FUNC-PASSES: *** IR Dump After NoOpFunctionPass (function: g) filtered out *** -; CHECK-FILTER-FUNC-PASSES: *** IR Dump At Start: *** (function: f) +; CHECK-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass on g filtered out *** +; CHECK-FILTER-FUNC-PASSES: *** IR Dump After NoOpFunctionPass on g filtered out *** +; CHECK-FILTER-FUNC-PASSES: *** IR Dump At Start *** ; CHECK-FILTER-FUNC-PASSES-NEXT: ; ModuleID = {{.+}} -; CHECK-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass on f *** ; CHECK-FILTER-FUNC-PASSES-NEXT: define i32 @f() -; CHECK-FILTER-FUNC-PASSES: *** IR Dump After NoOpFunctionPass (function: f) omitted because no change *** +; CHECK-FILTER-FUNC-PASSES: *** IR Dump After NoOpFunctionPass on f omitted because no change *** -; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE: *** IR Dump After InstSimplifyPass (function: g) filtered out *** -; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE: *** IR Dump After NoOpFunctionPass (function: g) filtered out *** -; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE: *** IR Dump At Start: *** (function: f) +; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE: *** IR Dump After InstSimplifyPass on g filtered out *** +; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE: *** IR Dump After NoOpFunctionPass on g filtered out *** +; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE: *** IR Dump At Start *** ; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE-NEXT: ; ModuleID = {{.+}} -; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE: *** IR Dump After InstSimplifyPass on f *** ; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE-NEXT: ModuleID = {{.+}} -; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE: *** IR Dump After NoOpFunctionPass (function: f) omitted because no change *** +; CHECK-FILTER-FUNC-PASSES-MOD-SCOPE: *** IR Dump After NoOpFunctionPass on f omitted because no change *** -; CHECK-MULT-PASSES-FILTER-FUNC: *** IR Dump At Start: *** +; CHECK-MULT-PASSES-FILTER-FUNC: *** IR Dump At Start *** ; CHECK-MULT-PASSES-FILTER-FUNC-NEXT: ; ModuleID = {{.+}} -; CHECK-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass (function: g) filtered out *** -; CHECK-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass (function: g) filtered out *** -; CHECK-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass on g filtered out *** +; CHECK-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass on g filtered out *** +; CHECK-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass on f *** ; CHECK-MULT-PASSES-FILTER-FUNC-NEXT: define i32 @f() -; CHECK-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass (function: f) omitted because no change *** +; CHECK-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass on f omitted because no change *** -; CHECK-SIMPLE-BEFORE: *** IR Dump At Start: *** +; CHECK-SIMPLE-BEFORE: *** IR Dump At Start *** ; CHECK-SIMPLE-BEFORE-NEXT: ; ModuleID = {{.+}} -; CHECK-SIMPLE-BEFORE: *** IR Dump After VerifierPass (module) omitted because no change *** -; CHECK-SIMPLE-BEFORE: *** IR Dump Before InstSimplifyPass *** (function: g) +; CHECK-SIMPLE-BEFORE: *** IR Dump After VerifierPass on [module] omitted because no change *** +; CHECK-SIMPLE-BEFORE: *** IR Dump Before InstSimplifyPass on g *** ; CHECK-SIMPLE-BEFORE-NEXT: define i32 @g() -; CHECK-SIMPLE-BEFORE: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-SIMPLE-BEFORE: *** IR Dump After InstSimplifyPass on g *** ; CHECK-SIMPLE-BEFORE-NEXT: define i32 @g() -; CHECK-SIMPLE-BEFORE: *** IR Pass PassManager{{.*}} (function: g) ignored *** -; CHECK-SIMPLE-BEFORE: *** IR Dump Before InstSimplifyPass *** (function: f) +; CHECK-SIMPLE-BEFORE: *** IR Pass PassManager{{.*}} on g ignored *** +; CHECK-SIMPLE-BEFORE: *** IR Dump Before InstSimplifyPass on f *** ; CHECK-SIMPLE-BEFORE-NEXT: define i32 @f() -; CHECK-SIMPLE-BEFORE: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-SIMPLE-BEFORE: *** IR Dump After InstSimplifyPass on f *** ; CHECK-SIMPLE-BEFORE-NEXT: define i32 @f() -; CHECK-SIMPLE-BEFORE: *** IR Pass PassManager{{.*}} (function: f) ignored *** -; CHECK-SIMPLE-BEFORE: *** IR Pass ModuleToFunctionPassAdaptor (module) ignored *** -; CHECK-SIMPLE-BEFORE: *** IR Dump After VerifierPass (module) omitted because no change *** -; CHECK-SIMPLE-BEFORE: *** IR Dump After PrintModulePass (module) omitted because no change *** +; CHECK-SIMPLE-BEFORE: *** IR Pass PassManager{{.*}} on f ignored *** +; CHECK-SIMPLE-BEFORE: *** IR Pass ModuleToFunctionPassAdaptor on [module] ignored *** +; CHECK-SIMPLE-BEFORE: *** IR Dump After VerifierPass on [module] omitted because no change *** +; CHECK-SIMPLE-BEFORE: *** IR Dump After PrintModulePass on [module] omitted because no change *** ; CHECK-SIMPLE-BEFORE-NOT: *** IR -; CHECK-FUNC-FILTER-BEFORE: *** IR Dump At Start: *** +; CHECK-FUNC-FILTER-BEFORE: *** IR Dump At Start *** ; CHECK-FUNC-FILTER-BEFORE-NEXT: ; ModuleID = {{.+}} -; CHECK-FUNC-FILTER-BEFORE: *** IR Dump After InstSimplifyPass (function: g) filtered out *** -; CHECK-FUNC-FILTER-BEFORE: *** IR Dump Before InstSimplifyPass *** (function: f) +; CHECK-FUNC-FILTER-BEFORE: *** IR Dump After InstSimplifyPass on g filtered out *** +; CHECK-FUNC-FILTER-BEFORE: *** IR Dump Before InstSimplifyPass on f *** ; CHECK-FUNC-FILTER-BEFORE-NEXT: define i32 @f() -; CHECK-FUNC-FILTER-BEFORE: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-FUNC-FILTER-BEFORE: *** IR Dump After InstSimplifyPass on f *** ; CHECK-FUNC-FILTER-BEFORE-NEXT: define i32 @f() -; CHECK-PRINT-MOD-SCOPE-BEFORE: *** IR Dump At Start: *** +; CHECK-PRINT-MOD-SCOPE-BEFORE: *** IR Dump At Start *** ; CHECK-PRINT-MOD-SCOPE-BEFORE-NEXT: ModuleID = {{.+}} -; CHECK-PRINT-MOD-SCOPE-BEFORE: *** IR Dump Before InstSimplifyPass *** (function: g) +; CHECK-PRINT-MOD-SCOPE-BEFORE: *** IR Dump Before InstSimplifyPass on g *** ; CHECK-PRINT-MOD-SCOPE-BEFORE-NEXT: ModuleID = {{.+}} -; CHECK-PRINT-MOD-SCOPE-BEFORE: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-PRINT-MOD-SCOPE-BEFORE: *** IR Dump After InstSimplifyPass on g *** ; CHECK-PRINT-MOD-SCOPE-BEFORE-NEXT: ModuleID = {{.+}} -; CHECK-PRINT-MOD-SCOPE-BEFORE: *** IR Dump Before InstSimplifyPass *** (function: f) +; CHECK-PRINT-MOD-SCOPE-BEFORE: *** IR Dump Before InstSimplifyPass on f *** ; CHECK-PRINT-MOD-SCOPE-BEFORE-NEXT: ModuleID = {{.+}} -; CHECK-PRINT-MOD-SCOPE-BEFORE: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-PRINT-MOD-SCOPE-BEFORE: *** IR Dump After InstSimplifyPass on f *** ; CHECK-PRINT-MOD-SCOPE-BEFORE-NEXT: ModuleID = {{.+}} -; CHECK-QUIET-SIMPLE-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-QUIET-SIMPLE: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-QUIET-SIMPLE-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-QUIET-SIMPLE: *** IR Dump After InstSimplifyPass on g *** ; CHECK-QUIET-SIMPLE-NEXT: define i32 @g() ; CHECK-QUIET-SIMPLE-NOT: *** IR Dump {{.*(no change|ignored|filtered out)}} *** -; CHECK-QUIET-SIMPLE: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-QUIET-SIMPLE: *** IR Dump After InstSimplifyPass on f *** ; CHECK-QUIET-SIMPLE-NEXT: define i32 @f() ; CHECK-QUIET-SIMPLE-NOT: *** IR -; CHECK-QUIET-FUNC-FILTER-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-QUIET-FUNC-FILTER: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-QUIET-FUNC-FILTER-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-QUIET-FUNC-FILTER: *** IR Dump After InstSimplifyPass on f *** ; CHECK-QUIET-FUNC-FILTER-NEXT: define i32 @f() ; CHECK-QUIET-FUNC-FILTER-NOT: *** IR -; CHECK-QUIET-PRINT-MOD-SCOPE-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-QUIET-PRINT-MOD-SCOPE: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-QUIET-PRINT-MOD-SCOPE-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-QUIET-PRINT-MOD-SCOPE: *** IR Dump After InstSimplifyPass on g *** ; CHECK-QUIET-PRINT-MOD-SCOPE-NEXT: ModuleID = {{.+}} -; CHECK-QUIET-PRINT-MOD-SCOPE: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-QUIET-PRINT-MOD-SCOPE: *** IR Dump After InstSimplifyPass on f *** ; CHECK-QUIET-PRINT-MOD-SCOPE-NEXT: ModuleID = {{.+}} ; CHECK-QUIET-PRINT-MOD-SCOPE-NOT: *** IR -; CHECK-QUIET-FUNC-FILTER-MOD-SCOPE-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-QUIET-FUNC-FILTER-MOD-SCOPE: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-QUIET-FUNC-FILTER-MOD-SCOPE-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-QUIET-FUNC-FILTER-MOD-SCOPE: *** IR Dump After InstSimplifyPass on f *** ; CHECK-QUIET-FUNC-FILTER-MOD-SCOPE-NEXT: ModuleID = {{.+}} ; CHECK-QUIET-FUNC-FILTER-MOD-SCOPE-NOT: *** IR -; CHECK-QUIET-FILTER-MULT-FUNC-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-QUIET-FILTER-MULT-FUNC: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-QUIET-FILTER-MULT-FUNC-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-QUIET-FILTER-MULT-FUNC: *** IR Dump After InstSimplifyPass on g *** ; CHECK-QUIET-FILTER-MULT-FUNC-NEXT: define i32 @g() -; CHECK-QUIET-FILTER-MULT-FUNC: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-QUIET-FILTER-MULT-FUNC: *** IR Dump After InstSimplifyPass on f *** ; CHECK-QUIET-FILTER-MULT-FUNC-NEXT: define i32 @f() ; CHECK-QUIET-FILTER-MULT-FUNC-NOT: *** IR ; CHECK-QUIET-FILTER-PASSES-NONE-NOT: *** IR -; CHECK-QUIET-FILTER-PASSES-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-QUIET-FILTER-PASSES: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-QUIET-FILTER-PASSES-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-QUIET-FILTER-PASSES: *** IR Dump After InstSimplifyPass on g *** ; CHECK-QUIET-FILTER-PASSES-NEXT: define i32 @g() -; CHECK-QUIET-FILTER-PASSES-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-QUIET-FILTER-PASSES: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-QUIET-FILTER-PASSES-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-QUIET-FILTER-PASSES: *** IR Dump After InstSimplifyPass on f *** ; CHECK-QUIET-FILTER-PASSES-NEXT: define i32 @f() ; CHECK-QUIET-FILTER-PASSES-NOT: *** IR -; CHECK-QUIET-FILTER-MULT-PASSES-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-QUIET-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-QUIET-FILTER-MULT-PASSES-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-QUIET-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass on g *** ; CHECK-QUIET-FILTER-MULT-PASSES-NEXT: define i32 @g() -; CHECK-QUIET-FILTER-MULT-PASSES-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-QUIET-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-QUIET-FILTER-MULT-PASSES-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-QUIET-FILTER-MULT-PASSES: *** IR Dump After InstSimplifyPass on f *** ; CHECK-QUIET-FILTER-MULT-PASSES-NEXT: define i32 @f() ; CHECK-QUIET-FILTER-MULT-PASSES-NOT: *** IR -; CHECK-QUIET-FILTER-FUNC-PASSES-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-QUIET-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-QUIET-FILTER-FUNC-PASSES-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-QUIET-FILTER-FUNC-PASSES: *** IR Dump After InstSimplifyPass on f *** ; CHECK-QUIET-FILTER-FUNC-PASSES-NEXT: define i32 @f() ; CHECK-QUIET-FILTER-FUNC-PASSES-NOT: *** IR -; CHECK-QUIET-FILTER-FUNC-PASSES-MOD-SCOPE-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-QUIET-FILTER-FUNC-PASSES-MOD-SCOPE: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-QUIET-FILTER-FUNC-PASSES-MOD-SCOPE-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-QUIET-FILTER-FUNC-PASSES-MOD-SCOPE: *** IR Dump After InstSimplifyPass on f *** ; CHECK-QUIET-FILTER-FUNC-PASSES-MOD-SCOPE-NEXT: ModuleID = {{.+}} ; CHECK-QUIET-FILTER-FUNC-PASSES-MOD-SCOPE-NOT: *** IR -; CHECK-QUIET-MULT-PASSES-FILTER-FUNC-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-QUIET-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-QUIET-MULT-PASSES-FILTER-FUNC-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-QUIET-MULT-PASSES-FILTER-FUNC: *** IR Dump After InstSimplifyPass on f *** ; CHECK-QUIET-MULT-PASSES-FILTER-FUNC-NEXT: define i32 @f() ; CHECK-QUIET-MULT-PASSES-FILTER-FUNC-NOT: *** IR -; CHECK-SIMPLE-BEFORE-QUIET-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-SIMPLE-BEFORE-QUIET: *** IR Dump Before InstSimplifyPass *** (function: g) +; CHECK-SIMPLE-BEFORE-QUIET-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-SIMPLE-BEFORE-QUIET: *** IR Dump Before InstSimplifyPass on g *** ; CHECK-SIMPLE-BEFORE-QUIET-NEXT: define i32 @g() ; CHECK-SIMPLE-BEFORE-QUIET-NOT: *** IR Dump {{.*(no change|ignored|filtered out)}} *** -; CHECK-SIMPLE-BEFORE-QUIET: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-SIMPLE-BEFORE-QUIET: *** IR Dump After InstSimplifyPass on g *** ; CHECK-SIMPLE-BEFORE-QUIET-NEXT: define i32 @g() ; CHECK-SIMPLE-BEFORE-QUIET-NOT: *** IR Dump {{.*(no change|ignored|filtered out)}} *** -; CHECK-SIMPLE-BEFORE-QUIET: *** IR Dump Before InstSimplifyPass *** (function: f) +; CHECK-SIMPLE-BEFORE-QUIET: *** IR Dump Before InstSimplifyPass on f *** ; CHECK-SIMPLE-BEFORE-QUIET-NEXT: define i32 @f() ; CHECK-SIMPLE-BEFORE-QUIET-NOT: *** IR Dump {{.*(no change|ignored|filtered out)}} *** -; CHECK-SIMPLE-BEFORE-QUIET: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-SIMPLE-BEFORE-QUIET: *** IR Dump After InstSimplifyPass on f *** ; CHECK-SIMPLE-BEFORE-QUIET-NEXT: define i32 @f() ; CHECK-SIMPLE-BEFORE-QUIET-NOT: *** IR -; CHECK-FUNC-FILTER-BEFORE-QUIET-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-FUNC-FILTER-BEFORE-QUIET: *** IR Dump Before InstSimplifyPass *** (function: f) +; CHECK-FUNC-FILTER-BEFORE-QUIET-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-FUNC-FILTER-BEFORE-QUIET: *** IR Dump Before InstSimplifyPass on f *** ; CHECK-FUNC-FILTER-BEFORE-QUIET-NEXT: define i32 @f() ; CHECK-FUNC-FILTER-BEFORE-QUIET-NOT: *** IR Dump {{.*(no change|ignored|filtered out)}} *** -; CHECK-FUNC-FILTER-BEFORE-QUIET: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-FUNC-FILTER-BEFORE-QUIET: *** IR Dump After InstSimplifyPass on f *** ; CHECK-FUNC-FILTER-BEFORE-QUIET-NEXT: define i32 @f() ; CHECK-FUNC-FILTER-BEFORE-QUIET-NOT: *** IR -; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET-NOT: *** IR Dump {{.*(At Start:|no change|ignored|filtered out)}} *** -; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET: *** IR Dump Before InstSimplifyPass *** (function: g) +; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET-NOT: *** IR Dump {{.*(At Start|no change|ignored|filtered out)}} *** +; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET: *** IR Dump Before InstSimplifyPass on g *** ; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET-NEXT: ModuleID = {{.+}} ; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET-NOT: *** IR Dump {{.*(no change|ignored|filtered out)}} *** -; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET: *** IR Dump After InstSimplifyPass *** (function: g) +; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET: *** IR Dump After InstSimplifyPass on g *** ; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET-NEXT: ModuleID = {{.+}} ; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET-NOT: *** IR Dump {{.*(no change|ignored|filtered out)}} *** -; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET: *** IR Dump Before InstSimplifyPass *** (function: f) +; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET: *** IR Dump Before InstSimplifyPass on f *** ; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET-NEXT: ModuleID = {{.+}} ; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET-NOT: *** IR Dump {{.*(no change|ignored|filtered out)}} *** -; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET: *** IR Dump After InstSimplifyPass *** (function: f) +; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET: *** IR Dump After InstSimplifyPass on f *** ; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET-NEXT: ModuleID = {{.+}} ; CHECK-PRINT-MOD-SCOPE-BEFORE-QUIET-NOT: *** IR diff --git a/llvm/test/Other/loop-deletion-printer.ll b/llvm/test/Other/loop-deletion-printer.ll --- a/llvm/test/Other/loop-deletion-printer.ll +++ b/llvm/test/Other/loop-deletion-printer.ll @@ -11,7 +11,7 @@ ; SIMPLIFY: IR Dump {{.*}} LoopInstSimplifyPass ; DELETED-NOT: IR Dump {{.*}}LoopInstSimplifyPass ; DELETED-NOT: IR Dump {{.*}}LoopDeletionPass -; DELETED-BUT-PRINTED: IR Dump {{.*}}LoopDeletionPass {{.*invalidated:}} +; DELETED-BUT-PRINTED: IR Dump {{.*}}LoopDeletionPass {{.*}}(invalidated) ; DELETED-BUT-PRINTED-NOT: IR Dump {{.*}}LoopInstSimplifyPass define void @deleteme() { diff --git a/llvm/test/Other/loop-pass-printer.ll b/llvm/test/Other/loop-pass-printer.ll --- a/llvm/test/Other/loop-pass-printer.ll +++ b/llvm/test/Other/loop-pass-printer.ll @@ -46,8 +46,7 @@ ; BAR-OLD-NOT: IR Dump ; BAR-OLD-NOT: ; Loop -; FOO-MODULE: IR Dump After {{Unroll|LoopFullUnrollPass}} -; FOO-MODULE-SAME: loop: %loop +; FOO-MODULE: IR Dump After {{Unroll|LoopFullUnrollPass}} {{.*}}%loop ; FOO-MODULE-NEXT: ModuleID = ; FOO-MODULE: define void @foo ; FOO-MODULE: define void @bar diff --git a/llvm/test/Other/module-pass-printer.ll b/llvm/test/Other/module-pass-printer.ll --- a/llvm/test/Other/module-pass-printer.ll +++ b/llvm/test/Other/module-pass-printer.ll @@ -8,9 +8,10 @@ ; RUN: opt < %s 2>&1 -forceattrs -disable-output -print-after-all -filter-print-funcs=foo,bar | FileCheck %s -check-prefix=BOTH ; RUN: opt < %s 2>&1 -passes=forceattrs -disable-output -print-after-all -filter-print-funcs=foo,bar | FileCheck %s -check-prefix=BOTH -; Check pass name is not printed if a module doesn't include any function specified in -filter-print-funcs. +; Check pass name is not printed if a module/SCC doesn't include any function specified in -filter-print-funcs. ; RUN: opt < %s 2>&1 -forceattrs -disable-output -print-after-all -filter-print-funcs=baz | FileCheck %s -allow-empty -check-prefix=EMPTY ; RUN: opt < %s 2>&1 -passes=forceattrs -disable-output -print-after-all -filter-print-funcs=baz | FileCheck %s -allow-empty -check-prefix=EMPTY +; RUN: opt < %s 2>&1 -passes=no-op-cgscc -disable-output -print-after-all -filter-print-funcs=baz | FileCheck %s -allow-empty -check-prefix=EMPTY ; Check whole module is printed with user-specified wildcast switch -filter-print-funcs=* or -print-module-scope ; RUN: opt < %s 2>&1 -forceattrs -disable-output -print-after-all | FileCheck %s -check-prefix=ALL @@ -32,6 +33,7 @@ ; BOTH-NOT: ModuleID = ; EMPTY-NOT: IR Dump After {{Force set function attributes|ForceFunctionAttrsPass}} +; EMPTY-NOT: IR Dump After NoOp ; ALL: IR Dump After {{Force set function attributes|ForceFunctionAttrsPass}} ; ALL: ModuleID = diff --git a/llvm/test/Other/opt-bisect-new-pass-manager.ll b/llvm/test/Other/opt-bisect-new-pass-manager.ll --- a/llvm/test/Other/opt-bisect-new-pass-manager.ll +++ b/llvm/test/Other/opt-bisect-new-pass-manager.ll @@ -11,19 +11,19 @@ ; RUN: opt -disable-output -disable-verify \ ; RUN: -passes=inferattrs -opt-bisect-limit=-1 %s 2>&1 \ ; RUN: | FileCheck %s --check-prefix=CHECK-MODULE-PASS -; CHECK-MODULE-PASS: BISECT: running pass (1) InferFunctionAttrsPass on module +; CHECK-MODULE-PASS: BISECT: running pass (1) InferFunctionAttrsPass on [module] ; RUN: opt -disable-output -disable-verify \ ; RUN: -passes=inferattrs -opt-bisect-limit=0 %s 2>&1 \ ; RUN: | FileCheck %s --check-prefix=CHECK-LIMIT-MODULE-PASS -; CHECK-LIMIT-MODULE-PASS: BISECT: NOT running pass (1) InferFunctionAttrsPass on module +; CHECK-LIMIT-MODULE-PASS: BISECT: NOT running pass (1) InferFunctionAttrsPass on [module] ; RUN: opt -disable-output -debug-pass-manager \ ; RUN: -passes=inferattrs -opt-bisect-limit=-1 %s 2>&1 \ ; RUN: | FileCheck %s --check-prefix=CHECK-REQUIRED-PASS ; CHECK-REQUIRED-PASS-NOT: BISECT: {{.*}} VerifierPass ; CHECK-REQUIRED-PASS: Running pass: VerifierPass -; CHECK-REQUIRED-PASS: BISECT: running pass (1) InferFunctionAttrsPass on module +; CHECK-REQUIRED-PASS: BISECT: running pass (1) InferFunctionAttrsPass on [module] ; CHECK-REQUIRED-PASS-NOT: BISECT: {{.*}} VerifierPass ; CHECK-REQUIRED-PASS: Running pass: VerifierPass @@ -32,67 +32,67 @@ ; RUN: | FileCheck %s --check-prefix=CHECK-LIMIT-REQUIRED-PASS ; CHECK-LIMIT-REQUIRED-PASS-NOT: BISECT: {{.*}} VerifierPass ; CHECK-LIMIT-REQUIRED-PASS: Running pass: VerifierPass -; CHECK-LIMIT-REQUIRED-PASS: BISECT: NOT running pass (1) InferFunctionAttrsPass on module +; CHECK-LIMIT-REQUIRED-PASS: BISECT: NOT running pass (1) InferFunctionAttrsPass on [module] ; CHECK-LIMIT-REQUIRED-PASS-NOT: BISECT: {{.*}} VerifierPass ; CHECK-LIMIT-REQUIRED-PASS: Running pass: VerifierPass ; RUN: opt -disable-output -disable-verify \ ; RUN: -passes=early-cse -opt-bisect-limit=-1 %s 2>&1 \ ; RUN: | FileCheck %s --check-prefix=CHECK-FUNCTION-PASS -; CHECK-FUNCTION-PASS: BISECT: running pass (1) EarlyCSEPass on function (f1) -; CHECK-FUNCTION-PASS: BISECT: running pass (2) EarlyCSEPass on function (f2) -; CHECK-FUNCTION-PASS: BISECT: running pass (3) EarlyCSEPass on function (f3) -; CHECK-FUNCTION-PASS: BISECT: running pass (4) EarlyCSEPass on function (f4) +; CHECK-FUNCTION-PASS: BISECT: running pass (1) EarlyCSEPass on f1 +; CHECK-FUNCTION-PASS: BISECT: running pass (2) EarlyCSEPass on f2 +; CHECK-FUNCTION-PASS: BISECT: running pass (3) EarlyCSEPass on f3 +; CHECK-FUNCTION-PASS: BISECT: running pass (4) EarlyCSEPass on f4 ; RUN: opt -disable-output -disable-verify \ ; RUN: -passes=early-cse -opt-bisect-limit=2 %s 2>&1 \ ; RUN: | FileCheck %s --check-prefix=CHECK-LIMIT-FUNCTION-PASS -; CHECK-LIMIT-FUNCTION-PASS: BISECT: running pass (1) EarlyCSEPass on function (f1) -; CHECK-LIMIT-FUNCTION-PASS: BISECT: running pass (2) EarlyCSEPass on function (f2) -; CHECK-LIMIT-FUNCTION-PASS: BISECT: NOT running pass (3) EarlyCSEPass on function (f3) -; CHECK-LIMIT-FUNCTION-PASS: BISECT: NOT running pass (4) EarlyCSEPass on function (f4) +; CHECK-LIMIT-FUNCTION-PASS: BISECT: running pass (1) EarlyCSEPass on f1 +; CHECK-LIMIT-FUNCTION-PASS: BISECT: running pass (2) EarlyCSEPass on f2 +; CHECK-LIMIT-FUNCTION-PASS: BISECT: NOT running pass (3) EarlyCSEPass on f3 +; CHECK-LIMIT-FUNCTION-PASS: BISECT: NOT running pass (4) EarlyCSEPass on f4 ; RUN: opt -disable-output -disable-verify \ ; RUN: -passes=function-attrs -opt-bisect-limit=-1 %s 2>&1 \ ; RUN: | FileCheck %s --check-prefix=CHECK-CGSCC-PASS -; CHECK-CGSCC-PASS: BISECT: running pass (1) PostOrderFunctionAttrsPass on SCC (f1) -; CHECK-CGSCC-PASS: BISECT: running pass (2) PostOrderFunctionAttrsPass on SCC (f2) -; CHECK-CGSCC-PASS: BISECT: running pass (3) PostOrderFunctionAttrsPass on SCC (f3) -; CHECK-CGSCC-PASS: BISECT: running pass (4) PostOrderFunctionAttrsPass on SCC (f4) +; CHECK-CGSCC-PASS: BISECT: running pass (1) PostOrderFunctionAttrsPass on (f1) +; CHECK-CGSCC-PASS: BISECT: running pass (2) PostOrderFunctionAttrsPass on (f2) +; CHECK-CGSCC-PASS: BISECT: running pass (3) PostOrderFunctionAttrsPass on (f3) +; CHECK-CGSCC-PASS: BISECT: running pass (4) PostOrderFunctionAttrsPass on (f4) ; RUN: opt -disable-output -disable-verify \ ; RUN: -passes=function-attrs -opt-bisect-limit=3 %s 2>&1 \ ; RUN: | FileCheck %s --check-prefix=CHECK-LIMIT-CGSCC-PASS -; CHECK-LIMIT-CGSCC-PASS: BISECT: running pass (1) PostOrderFunctionAttrsPass on SCC (f1) -; CHECK-LIMIT-CGSCC-PASS: BISECT: running pass (2) PostOrderFunctionAttrsPass on SCC (f2) -; CHECK-LIMIT-CGSCC-PASS: BISECT: running pass (3) PostOrderFunctionAttrsPass on SCC (f3) -; CHECK-LIMIT-CGSCC-PASS: BISECT: NOT running pass (4) PostOrderFunctionAttrsPass on SCC (f4) +; CHECK-LIMIT-CGSCC-PASS: BISECT: running pass (1) PostOrderFunctionAttrsPass on (f1) +; CHECK-LIMIT-CGSCC-PASS: BISECT: running pass (2) PostOrderFunctionAttrsPass on (f2) +; CHECK-LIMIT-CGSCC-PASS: BISECT: running pass (3) PostOrderFunctionAttrsPass on (f3) +; CHECK-LIMIT-CGSCC-PASS: BISECT: NOT running pass (4) PostOrderFunctionAttrsPass on (f4) ; RUN: opt -disable-output -disable-verify -opt-bisect-limit=-1 \ ; RUN: -passes='inferattrs,cgscc(function-attrs,function(early-cse))' %s 2>&1 \ ; RUN: | FileCheck %s --check-prefix=CHECK-MULTI-PASS -; CHECK-MULTI-PASS: BISECT: running pass (1) InferFunctionAttrsPass on module -; CHECK-MULTI-PASS: BISECT: running pass (2) PostOrderFunctionAttrsPass on SCC (f1) -; CHECK-MULTI-PASS: BISECT: running pass (3) EarlyCSEPass on function (f1) -; CHECK-MULTI-PASS: BISECT: running pass (4) PostOrderFunctionAttrsPass on SCC (f2) -; CHECK-MULTI-PASS: BISECT: running pass (5) EarlyCSEPass on function (f2) -; CHECK-MULTI-PASS: BISECT: running pass (6) PostOrderFunctionAttrsPass on SCC (f3) -; CHECK-MULTI-PASS: BISECT: running pass (7) EarlyCSEPass on function (f3) -; CHECK-MULTI-PASS: BISECT: running pass (8) PostOrderFunctionAttrsPass on SCC (f4) -; CHECK-MULTI-PASS: BISECT: running pass (9) EarlyCSEPass on function (f4) +; CHECK-MULTI-PASS: BISECT: running pass (1) InferFunctionAttrsPass on [module] +; CHECK-MULTI-PASS: BISECT: running pass (2) PostOrderFunctionAttrsPass on (f1) +; CHECK-MULTI-PASS: BISECT: running pass (3) EarlyCSEPass on f1 +; CHECK-MULTI-PASS: BISECT: running pass (4) PostOrderFunctionAttrsPass on (f2) +; CHECK-MULTI-PASS: BISECT: running pass (5) EarlyCSEPass on f2 +; CHECK-MULTI-PASS: BISECT: running pass (6) PostOrderFunctionAttrsPass on (f3) +; CHECK-MULTI-PASS: BISECT: running pass (7) EarlyCSEPass on f3 +; CHECK-MULTI-PASS: BISECT: running pass (8) PostOrderFunctionAttrsPass on (f4) +; CHECK-MULTI-PASS: BISECT: running pass (9) EarlyCSEPass on f4 ; RUN: opt -disable-output -disable-verify -opt-bisect-limit=7 \ ; RUN: -passes='inferattrs,cgscc(function-attrs,function(early-cse))' %s 2>&1 \ ; RUN: | FileCheck %s --check-prefix=CHECK-LIMIT-MULTI-PASS -; CHECK-LIMIT-MULTI-PASS: BISECT: running pass (1) InferFunctionAttrsPass on module -; CHECK-LIMIT-MULTI-PASS: BISECT: running pass (2) PostOrderFunctionAttrsPass on SCC (f1) -; CHECK-LIMIT-MULTI-PASS: BISECT: running pass (3) EarlyCSEPass on function (f1) -; CHECK-LIMIT-MULTI-PASS: BISECT: running pass (4) PostOrderFunctionAttrsPass on SCC (f2) -; CHECK-LIMIT-MULTI-PASS: BISECT: running pass (5) EarlyCSEPass on function (f2) -; CHECK-LIMIT-MULTI-PASS: BISECT: running pass (6) PostOrderFunctionAttrsPass on SCC (f3) -; CHECK-LIMIT-MULTI-PASS: BISECT: running pass (7) EarlyCSEPass on function (f3) -; CHECK-LIMIT-MULTI-PASS: BISECT: NOT running pass (8) PostOrderFunctionAttrsPass on SCC (f4) -; CHECK-LIMIT-MULTI-PASS: BISECT: NOT running pass (9) EarlyCSEPass on function (f4) +; CHECK-LIMIT-MULTI-PASS: BISECT: running pass (1) InferFunctionAttrsPass on [module] +; CHECK-LIMIT-MULTI-PASS: BISECT: running pass (2) PostOrderFunctionAttrsPass on (f1) +; CHECK-LIMIT-MULTI-PASS: BISECT: running pass (3) EarlyCSEPass on f1 +; CHECK-LIMIT-MULTI-PASS: BISECT: running pass (4) PostOrderFunctionAttrsPass on (f2) +; CHECK-LIMIT-MULTI-PASS: BISECT: running pass (5) EarlyCSEPass on f2 +; CHECK-LIMIT-MULTI-PASS: BISECT: running pass (6) PostOrderFunctionAttrsPass on (f3) +; CHECK-LIMIT-MULTI-PASS: BISECT: running pass (7) EarlyCSEPass on f3 +; CHECK-LIMIT-MULTI-PASS: BISECT: NOT running pass (8) PostOrderFunctionAttrsPass on (f4) +; CHECK-LIMIT-MULTI-PASS: BISECT: NOT running pass (9) EarlyCSEPass on f4 declare i32 @g() diff --git a/llvm/test/Other/print-module-scope.ll b/llvm/test/Other/print-module-scope.ll --- a/llvm/test/Other/print-module-scope.ll +++ b/llvm/test/Other/print-module-scope.ll @@ -16,22 +16,18 @@ ; RUN: -passes=simplify-cfg -print-after-all -filter-print-funcs=foo -print-module-scope \ ; RUN: | FileCheck %s -check-prefix=FOO -; CFG: IR Dump After {{Simplify the CFG|SimplifyCFGPass}} -; CFG-SAME: function: foo +; CFG: IR Dump After {{Simplify the CFG|SimplifyCFGPass}} {{.*}}foo ; CFG-NEXT: ModuleID = ; CFG: define void @foo ; CFG: define void @bar ; CFG: declare void @baz -; CFG: IR Dump After -; CFG-SAME: function: bar +; CFG: IR Dump After {{.*}}bar ; CFG-NEXT: ModuleID = ; CFG: define void @foo ; CFG: define void @bar ; CFG: declare void @baz -; FOO: IR Dump After {{Simplify the CFG|SimplifyCFGPass}} -; FOO-NOT: function: bar -; FOO-SAME: function: foo +; FOO: IR Dump After {{Simplify the CFG|SimplifyCFGPass}} {{.*foo}} ; FOO-NEXT: ModuleID = ; FOO: Function Attrs: nounwind ssp ; FOO: define void @foo diff --git a/llvm/test/Other/scc-deleted-printer.ll b/llvm/test/Other/scc-deleted-printer.ll --- a/llvm/test/Other/scc-deleted-printer.ll +++ b/llvm/test/Other/scc-deleted-printer.ll @@ -3,15 +3,15 @@ ; RUN: opt < %s 2>&1 -disable-output \ ; RUN: -passes=inline -print-before-all -print-after-all -print-module-scope | FileCheck %s -check-prefix=INL-MOD -; INL: IR Dump Before {{InlinerPass .*scc: .tester, foo}} +; INL: IR Dump Before InlinerPass on (tester, foo) ; INL-NOT: IR Dump After {{InlinerPass}} -; INL: IR Dump Before {{InlinerPass .*scc: .tester}} -; INL: IR Dump After {{InlinerPass .*scc: .tester}} +; INL: IR Dump Before InlinerPass on (tester) +; INL: IR Dump After InlinerPass on (tester) -; INL-MOD: IR Dump Before {{InlinerPass .*scc: .tester, foo}} -; INL-MOD: IR Dump After {{InlinerPass .*invalidated: .*scc: .tester, foo}} -; INL-MOD: IR Dump Before {{InlinerPass .*scc: .tester}} -; INL-MOD: IR Dump After {{InlinerPass .*scc: .tester}} +; INL-MOD: IR Dump Before InlinerPass on (tester, foo) +; INL-MOD: IR Dump After InlinerPass on (tester, foo) (invalidated) +; INL-MOD: IR Dump Before InlinerPass on (tester) +; INL-MOD: IR Dump After InlinerPass on (tester) define void @tester() noinline { diff --git a/llvm/test/Other/scc-pass-printer.ll b/llvm/test/Other/scc-pass-printer.ll --- a/llvm/test/Other/scc-pass-printer.ll +++ b/llvm/test/Other/scc-pass-printer.ll @@ -20,12 +20,12 @@ ; LEGACY: define void @tester() ; LEGACY-NEXT: call void @foo() -; INL: IR Dump After InlinerPass *** (scc: (foo, bar)) +; INL: IR Dump After InlinerPass on (foo, bar) *** ; INL: define void @foo() ; INL-NEXT: call void @bar() ; INL: define void @bar() ; INL-NEXT: call void @foo() -; INL: IR Dump After InlinerPass *** (scc: (tester)) +; INL: IR Dump After InlinerPass on (tester) *** ; INL: define void @tester() ; INL-NEXT: call void @foo() @@ -35,7 +35,7 @@ ; LEGACY-MOD: define void @foo() ; LEGACY-MOD: define void @bar() -; INL-MOD-LABEL:*** IR Dump After InlinerPass *** (scc: (foo, bar)) +; INL-MOD-LABEL:*** IR Dump After InlinerPass on (foo, bar) *** ; INL-MOD-NEXT: ModuleID = ; INL-MOD-NEXT: source_filename = ; INL-MOD: define void @tester() @@ -44,7 +44,7 @@ ; INL-MOD-NEXT: call void @bar() ; INL-MOD: define void @bar() ; INL-MOD-NEXT: call void @foo() -; INL-MOD-LABEL:*** IR Dump After InlinerPass *** (scc: (tester)) +; INL-MOD-LABEL:*** IR Dump After InlinerPass on (tester) *** ; INL-MOD-NEXT: ModuleID = ; INL-MOD-NEXT: source_filename = ; INL-MOD: define void @tester() diff --git a/llvm/test/ThinLTO/X86/printer.ll b/llvm/test/ThinLTO/X86/printer.ll --- a/llvm/test/ThinLTO/X86/printer.ll +++ b/llvm/test/ThinLTO/X86/printer.ll @@ -1,8 +1,8 @@ ; RUN: llvm-as %s -o %t.bc ; RUN: llvm-lto2 run -r=%t.bc,foo,pxl -use-new-pm --print-before-all %t.bc -o %t2 2>&1 | FileCheck %s --check-prefix=CHECK-BEFORE ; RUN: llvm-lto2 run -r=%t.bc,foo,pxl -use-new-pm --print-after-all %t.bc -o %t3 2>&1 | FileCheck %s --check-prefix=CHECK-AFTER -; CHECK-BEFORE: *** IR Dump Before GlobalDCEPass *** -; CHECK-AFTER: *** IR Dump After GlobalDCEPass *** +; CHECK-BEFORE: *** IR Dump Before GlobalDCEPass +; CHECK-AFTER: *** IR Dump After GlobalDCEPass target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu"