forked from OSchip/llvm-project
[NewPM][PassInstrument] Add PrintPass callback to StandardInstrumentations
Problem: Right now, our "Running pass" is not accurate when passes are wrapped in adaptor because adaptor is never skipped and a pass could be skipped. The other problem is that "Running pass" for a adaptor is before any "Running pass" of passes/analyses it depends on. (for example, FunctionToLoopPassAdaptor). So the order of printing is not the actual order. Solution: Doing things like PassManager::Debuglogging is very intrusive because we need to specify Debuglogging whenever adaptor is created. (Actually, right now we're not specifying Debuglogging for some sub-PassManagers. Check PassBuilder) This patch move debug logging for pass as a PassInstrument callback. We could be sure that all running passes are logged and in the correct order. This could also be used to implement hierarchy pass logging in legacy PM. We could also move logging of pass manager to this if we want. The test fixes looks messy. It includes changes: - Remove PassInstrumentationAnalysis - Remove PassAdaptor - If a PassAdaptor is for a real pass, the pass is added - Pass reorder (to the correct order), related to PassAdaptor - Add missing passes (due to Debuglogging not passed down) Reviewed By: asbirlea, aeubanks Differential Revision: https://reviews.llvm.org/D84774
This commit is contained in:
parent
3632f765dc
commit
555cf42f38
|
@ -1,3 +1,4 @@
|
|||
; FIXME: This test should use CHECK-NEXT to keep up-to-date.
|
||||
; REQUIRES: x86-registered-target
|
||||
|
||||
; Validate ThinLTO post link pipeline at O2 and O3
|
||||
|
@ -18,7 +19,6 @@
|
|||
; RUN: -c -fthinlto-index=%t.o.thinlto.bc \
|
||||
; RUN: -o %t.native.o -x ir %t.o 2>&1 | FileCheck -check-prefixes=CHECK-O,CHECK-O3 %s --dump-input=fail
|
||||
|
||||
; CHECK-O: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O: Starting {{.*}}Module pass manager run.
|
||||
; CHECK-O: Running pass: WholeProgramDevirtPass
|
||||
; CHECK-O: Running analysis: InnerAnalysisManagerProxy
|
||||
|
@ -26,15 +26,12 @@
|
|||
; CHECK-O: Invalidating all non-preserved analyses for:
|
||||
; CHECK-O: Invalidating analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O: Running pass: ForceFunctionAttrsPass
|
||||
; CHECK-O: Running pass: PassManager<{{.*}}Module>
|
||||
; CHECK-O: Starting {{.*}}Module pass manager run.
|
||||
; CHECK-O: Running pass: PGOIndirectCallPromotion
|
||||
; CHECK-O: Running analysis: ProfileSummaryAnalysis
|
||||
; CHECK-O: Running analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O: Running analysis: OptimizationRemarkEmitterAnalysis on main
|
||||
; CHECK-O: Running analysis: PassInstrumentationAnalysis on main
|
||||
; CHECK-O: Running pass: InferFunctionAttrsPass
|
||||
; CHECK-O: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager<{{.*}}Function>{{ ?}}>
|
||||
; CHECK-O: Starting {{.*}}Function pass manager run.
|
||||
; CHECK-O: Running pass: SimplifyCFGPass on main
|
||||
; CHECK-O: Running analysis: TargetIRAnalysis on main
|
||||
|
@ -46,18 +43,17 @@
|
|||
; CHECK-O: Running pass: LowerExpectIntrinsicPass on main
|
||||
; CHECK-O3: Running pass: CallSiteSplittingPass on main
|
||||
; CHECK-O: Finished {{.*}}Function pass manager run.
|
||||
; CHECK-O: Running pass: LowerTypeTestsPass
|
||||
; CHECK-O: Running pass: IPSCCPPass
|
||||
; CHECK-O: Running pass: CalledValuePropagationPass
|
||||
; CHECK-O: Running pass: GlobalOptPass
|
||||
; CHECK-O: Invalidating all non-preserved analyses for:
|
||||
; CHECK-O: Invalidating analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PromotePass>
|
||||
; CHECK-O: Running analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O: Running pass: PromotePass
|
||||
; CHECK-O: Running analysis: DominatorTreeAnalysis on main
|
||||
; CHECK-O: Running analysis: PassInstrumentationAnalysis on main
|
||||
; CHECK-O: Running analysis: AssumptionAnalysis on main
|
||||
; CHECK-O: Running pass: DeadArgumentEliminationPass
|
||||
; CHECK-O: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager<{{.*}}Function>{{ ?}}>
|
||||
; CHECK-O: Starting {{.*}}Function pass manager run.
|
||||
; CHECK-O: Running pass: InstCombinePass on main
|
||||
; CHECK-O: Running analysis: TargetLibraryAnalysis on main
|
||||
|
@ -74,11 +70,9 @@
|
|||
; CHECK-O: Running analysis: GlobalsAA
|
||||
; CHECK-O: Running analysis: CallGraphAnalysis
|
||||
; CHECK-O: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis
|
||||
; CHECK-O: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}DevirtSCCRepeatedPass<{{.*}}PassManager<{{.*}}LazyCallGraph::SCC
|
||||
; CHECK-O: Running analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O: Running analysis: LazyCallGraphAnalysis
|
||||
; CHECK-O: Running analysis: FunctionAnalysisManagerCGSCCProxy on (main)
|
||||
; CHECK-O: Running analysis: PassInstrumentationAnalysis on (main)
|
||||
; CHECK-O: Running analysis: OuterAnalysisManagerProxy
|
||||
; CHECK-O: Starting CGSCC pass manager run.
|
||||
; CHECK-O: Running pass: InlinerPass on (main)
|
||||
|
@ -87,8 +81,6 @@
|
|||
; CHECK-O: Clearing all analysis results for: main
|
||||
; CHECK-O3: Running pass: ArgumentPromotionPass on (main)
|
||||
; CHECK-O3: Running analysis: TargetIRAnalysis on main
|
||||
; CHECK-O: Running analysis: PassInstrumentationAnalysis on main
|
||||
; CHECK-O3: Running pass: CGSCCToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-O: Starting {{.*}}Function pass manager run.
|
||||
; CHECK-O: Running pass: SROA on main
|
||||
; These next two can appear in any order since they are accessed as parameters
|
||||
|
@ -117,7 +109,6 @@
|
|||
; CHECK-O: Running pass: SimplifyCFGPass on main
|
||||
; CHECK-O: Running pass: ReassociatePass on main
|
||||
; CHECK-O: Running pass: RequireAnalysisPass<{{.*}}OptimizationRemarkEmitterAnalysis
|
||||
; CHECK-O: Running pass: FunctionToLoopPassAdaptor<{{.*}}PassManager<{{.*}}Loop
|
||||
; CHECK-O: Starting {{.*}}Function pass manager run.
|
||||
; CHECK-O: Running pass: LoopSimplifyPass on main
|
||||
; CHECK-O: Running analysis: LoopAnalysis on main
|
||||
|
@ -125,7 +116,6 @@
|
|||
; CHECK-O: Finished {{.*}}Function pass manager run.
|
||||
; CHECK-O: Running pass: SimplifyCFGPass on main
|
||||
; CHECK-O: Running pass: InstCombinePass on main
|
||||
; CHECK-O: Running pass: FunctionToLoopPassAdaptor<{{.*}}PassManager<{{.*}}Loop
|
||||
; CHECK-O: Starting {{.*}}Function pass manager run.
|
||||
; CHECK-O: Running pass: LoopSimplifyPass on main
|
||||
; CHECK-O: Running pass: LCSSAPass on main
|
||||
|
@ -143,7 +133,6 @@
|
|||
; CHECK-O: Running pass: JumpThreadingPass on main
|
||||
; CHECK-O: Running pass: CorrelatedValuePropagationPass on main
|
||||
; CHECK-O: Running pass: DSEPass on main
|
||||
; CHECK-O: Running pass: FunctionToLoopPassAdaptor<{{.*}}LICMPass> on main
|
||||
; CHECK-O: Starting {{.*}}Function pass manager run.
|
||||
; CHECK-O: Running pass: LoopSimplifyPass on main
|
||||
; CHECK-O: Running pass: LCSSAPass on main
|
||||
|
@ -168,7 +157,6 @@
|
|||
; CHECK-O: Invalidating analysis: PostDominatorTreeAnalysis on main
|
||||
; CHECK-O: Invalidating analysis: CallGraphAnalysis
|
||||
; CHECK-O: Finished {{.*}}Module pass manager run.
|
||||
; CHECK-O: Running pass: PassManager<{{.*}}Module>
|
||||
; CHECK-O: Starting {{.*}}Module pass manager run.
|
||||
; CHECK-O: Running pass: GlobalOptPass
|
||||
; CHECK-O: Running pass: GlobalDCEPass
|
||||
|
@ -176,40 +164,43 @@
|
|||
; CHECK-O: Running pass: ReversePostOrderFunctionAttrsPass
|
||||
; CHECK-O: Running analysis: CallGraphAnalysis
|
||||
; CHECK-O: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA
|
||||
; CHECK-O: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager<{{.*}}Function>{{ ?}}>
|
||||
; CHECK-O: Starting {{.*}}Function pass manager run.
|
||||
; CHECK-O: Running pass: Float2IntPass on main
|
||||
; CHECK-O: Running pass: LowerConstantIntrinsicsPass on main
|
||||
; CHECK-O: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopRotatePass> on main
|
||||
; CHECK-O: Starting {{.*}}Function pass manager run.
|
||||
; CHECK-O: Running pass: LoopSimplifyPass on main
|
||||
; CHECK-O: Running analysis: LoopAnalysis on main
|
||||
; CHECK-O: Running pass: LCSSAPass on main
|
||||
; CHECK-O: Finished {{.*}}Function pass manager run.
|
||||
; CHECK-O: Running pass: LoopDistributePass on main
|
||||
; CHECK-O: Running analysis: ScalarEvolutionAnalysis on main
|
||||
; CHECK-O: Running analysis: MemorySSAAnalysis on main
|
||||
; CHECK-O: Running analysis: AAManager on main
|
||||
; CHECK-O: Running analysis: BasicAA on main
|
||||
; CHECK-O: Running analysis: ScalarEvolutionAnalysis on main
|
||||
; CHECK-O: Running analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O: Running pass: LoopRotatePass on Loop at depth 1 containing: %b
|
||||
; CHECK-O: Running pass: LoopDistributePass on main
|
||||
; CHECK-O: Running pass: InjectTLIMappings on main
|
||||
; CHECK-O: Running pass: LoopVectorizePass on main
|
||||
; CHECK-O: Running analysis: BlockFrequencyAnalysis on main
|
||||
; CHECK-O: Running analysis: BranchProbabilityAnalysis on main
|
||||
; CHECK-O: Running analysis: PostDominatorTreeAnalysis on main
|
||||
; CHECK-O: Running analysis: DemandedBitsAnalysis on main
|
||||
; CHECK-O: Running analysis: MemorySSAAnalysis on main
|
||||
; CHECK-O: Running pass: LoopLoadEliminationPass on main
|
||||
; CHECK-O: Running analysis: LoopAccessAnalysis on Loop at depth 1 containing: %b
|
||||
; CHECK-O: Running pass: InstCombinePass on main
|
||||
; CHECK-O: Running pass: SimplifyCFGPass on main
|
||||
; CHECK-O: Running pass: SLPVectorizerPass on main
|
||||
; CHECK-O: Running pass: VectorCombinePass on main
|
||||
; CHECK-O: Running pass: InstCombinePass on main
|
||||
; CHECK-O: Running pass: LoopUnrollPass on main
|
||||
; CHECK-O: Running pass: WarnMissedTransformationsPass on main
|
||||
; CHECK-O: Running pass: InstCombinePass on main
|
||||
; CHECK-O: Running pass: RequireAnalysisPass<{{.*}}OptimizationRemarkEmitterAnalysis
|
||||
; CHECK-O: Running pass: FunctionToLoopPassAdaptor<{{.*}}LICMPass> on main
|
||||
; CHECK-O: Starting {{.*}}Function pass manager run.
|
||||
; CHECK-O: Running pass: LoopSimplifyPass on main
|
||||
; CHECK-O: Running pass: LCSSAPass on main
|
||||
; CHECK-O: Finished {{.*}}Function pass manager run.
|
||||
; CHECK-O: Running pass: LICMPass on Loop at depth 1 containing: %b
|
||||
; CHECK-O: Running pass: AlignmentFromAssumptionsPass on main
|
||||
; CHECK-O: Running pass: LoopSinkPass on main
|
||||
; CHECK-O: Running pass: InstSimplifyPass on main
|
||||
|
@ -227,6 +218,8 @@ target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16
|
|||
target triple = "x86_64-grtev4-linux-gnu"
|
||||
|
||||
define i32 @main() {
|
||||
entry:
|
||||
br label %b
|
||||
b:
|
||||
br label %b
|
||||
ret i32 0
|
||||
}
|
||||
|
|
|
@ -234,6 +234,8 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
bool isSpecialPass(StringRef PassID, const std::vector<StringRef> &Specials);
|
||||
|
||||
} // namespace llvm
|
||||
|
||||
#endif
|
||||
|
|
|
@ -510,10 +510,6 @@ public:
|
|||
if (!PI.runBeforePass<IRUnitT>(*P, IR))
|
||||
continue;
|
||||
|
||||
if (DebugLogging)
|
||||
dbgs() << "Running pass: " << P->name() << " on " << IR.getName()
|
||||
<< "\n";
|
||||
|
||||
PreservedAnalyses PassPA;
|
||||
{
|
||||
TimeTraceScope TimeScope(P->name(), IR.getName());
|
||||
|
|
|
@ -64,9 +64,6 @@ AnalysisManager<IRUnitT, ExtraArgTs...>::getResultImpl(
|
|||
// run it to produce a result, which we then add to the cache.
|
||||
if (Inserted) {
|
||||
auto &P = this->lookUpPass(ID);
|
||||
if (DebugLogging)
|
||||
dbgs() << "Running analysis: " << P.name() << " on " << IR.getName()
|
||||
<< "\n";
|
||||
|
||||
PassInstrumentation PI;
|
||||
if (ID != PassInstrumentationAnalysis::ID()) {
|
||||
|
|
|
@ -61,7 +61,16 @@ public:
|
|||
|
||||
private:
|
||||
bool skip(StringRef PassID, Any IR);
|
||||
bool DebugLogging;
|
||||
};
|
||||
|
||||
// Debug logging for transformation and analysis passes.
|
||||
class PrintPassInstrumentation {
|
||||
public:
|
||||
PrintPassInstrumentation(bool DebugLogging) : DebugLogging(DebugLogging) {}
|
||||
void registerCallbacks(PassInstrumentationCallbacks &PIC);
|
||||
|
||||
private:
|
||||
bool DebugLogging;
|
||||
};
|
||||
|
||||
|
@ -69,12 +78,13 @@ private:
|
|||
/// instrumentations and manages their state (if any).
|
||||
class StandardInstrumentations {
|
||||
PrintIRInstrumentation PrintIR;
|
||||
PrintPassInstrumentation PrintPass;
|
||||
TimePassesHandler TimePasses;
|
||||
OptNoneInstrumentation OptNone;
|
||||
|
||||
public:
|
||||
StandardInstrumentations(bool DebugLogging)
|
||||
: PrintIR(), TimePasses(), OptNone(DebugLogging) {}
|
||||
: PrintPass(DebugLogging), OptNone(DebugLogging) {}
|
||||
|
||||
void registerCallbacks(PassInstrumentationCallbacks &PIC);
|
||||
|
||||
|
|
|
@ -78,9 +78,6 @@ PassManager<LazyCallGraph::SCC, CGSCCAnalysisManager, LazyCallGraph &,
|
|||
if (!PI.runBeforePass(*Pass, *C))
|
||||
continue;
|
||||
|
||||
if (DebugLogging)
|
||||
dbgs() << "Running pass: " << Pass->name() << " on " << *C << "\n";
|
||||
|
||||
PreservedAnalyses PassPA;
|
||||
{
|
||||
TimeTraceScope TimeScope(Pass->name());
|
||||
|
|
|
@ -12,10 +12,19 @@
|
|||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "llvm/IR/PassInstrumentation.h"
|
||||
#include "llvm/ADT/STLExtras.h"
|
||||
#include "llvm/IR/PassManager.h"
|
||||
|
||||
namespace llvm {
|
||||
|
||||
AnalysisKey PassInstrumentationAnalysis::Key;
|
||||
|
||||
bool isSpecialPass(StringRef PassID, const std::vector<StringRef> &Specials) {
|
||||
size_t Pos = PassID.find('<');
|
||||
if (Pos == StringRef::npos)
|
||||
return false;
|
||||
StringRef Prefix = PassID.substr(0, Pos);
|
||||
return any_of(Specials, [Prefix](StringRef S) { return Prefix.endswith(S); });
|
||||
}
|
||||
|
||||
} // namespace llvm
|
||||
|
|
|
@ -231,17 +231,9 @@ void TimePassesHandler::stopTimer(StringRef PassID) {
|
|||
MyTimer->stopTimer();
|
||||
}
|
||||
|
||||
static bool matchPassManager(StringRef PassID) {
|
||||
size_t prefix_pos = PassID.find('<');
|
||||
if (prefix_pos == StringRef::npos)
|
||||
return false;
|
||||
StringRef Prefix = PassID.substr(0, prefix_pos);
|
||||
return Prefix.endswith("PassManager") || Prefix.endswith("PassAdaptor") ||
|
||||
Prefix.endswith("AnalysisManagerProxy");
|
||||
}
|
||||
|
||||
void TimePassesHandler::runBeforePass(StringRef PassID) {
|
||||
if (matchPassManager(PassID))
|
||||
if (isSpecialPass(PassID,
|
||||
{"PassManager", "PassAdaptor", "AnalysisManagerProxy"}))
|
||||
return;
|
||||
|
||||
startTimer(PassID);
|
||||
|
@ -251,7 +243,8 @@ void TimePassesHandler::runBeforePass(StringRef PassID) {
|
|||
}
|
||||
|
||||
void TimePassesHandler::runAfterPass(StringRef PassID) {
|
||||
if (matchPassManager(PassID))
|
||||
if (isSpecialPass(PassID,
|
||||
{"PassManager", "PassAdaptor", "AnalysisManagerProxy"}))
|
||||
return;
|
||||
|
||||
stopTimer(PassID);
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
#include "llvm/Support/Debug.h"
|
||||
#include "llvm/Support/FormatVariadic.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
#include <vector>
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
|
@ -35,6 +36,13 @@ static cl::opt<bool>
|
|||
cl::desc("Enable skipping optional passes optnone functions "
|
||||
"under new pass manager"));
|
||||
|
||||
// FIXME: Change `-debug-pass-manager` from boolean to enum type. Similar to
|
||||
// `-debug-pass` in legacy PM.
|
||||
static cl::opt<bool>
|
||||
DebugPMVerbose("debug-pass-manager-verbose", cl::Hidden, cl::init(false),
|
||||
cl::desc("Print all pass management debugging information. "
|
||||
"`-debug-pass-manager` must also be specified"));
|
||||
|
||||
namespace {
|
||||
|
||||
/// Extracting Module out of \p IR unit. Also fills a textual description
|
||||
|
@ -78,14 +86,25 @@ Optional<std::pair<const Module *, std::string>> unwrapModule(Any IR) {
|
|||
llvm_unreachable("Unknown IR unit");
|
||||
}
|
||||
|
||||
void printIR(const Function *F, StringRef Banner,
|
||||
StringRef Extra = StringRef()) {
|
||||
void printIR(const Function *F, StringRef Banner, StringRef Extra = StringRef(),
|
||||
bool Brief = false) {
|
||||
if (Brief) {
|
||||
dbgs() << F->getName() << '\n';
|
||||
return;
|
||||
}
|
||||
|
||||
if (!llvm::isFunctionInPrintList(F->getName()))
|
||||
return;
|
||||
dbgs() << Banner << Extra << "\n" << static_cast<const Value &>(*F);
|
||||
}
|
||||
|
||||
void printIR(const Module *M, StringRef Banner, StringRef Extra = StringRef()) {
|
||||
void printIR(const Module *M, StringRef Banner, StringRef Extra = StringRef(),
|
||||
bool Brief = false) {
|
||||
if (Brief) {
|
||||
dbgs() << M->getName() << '\n';
|
||||
return;
|
||||
}
|
||||
|
||||
if (llvm::isFunctionInPrintList("*") || llvm::forcePrintModuleIR()) {
|
||||
dbgs() << Banner << Extra << "\n";
|
||||
M->print(dbgs(), nullptr, false);
|
||||
|
@ -97,7 +116,12 @@ void printIR(const Module *M, StringRef Banner, StringRef Extra = StringRef()) {
|
|||
}
|
||||
|
||||
void printIR(const LazyCallGraph::SCC *C, StringRef Banner,
|
||||
StringRef Extra = StringRef()) {
|
||||
StringRef Extra = StringRef(), bool Brief = false) {
|
||||
if (Brief) {
|
||||
dbgs() << *C << '\n';
|
||||
return;
|
||||
}
|
||||
|
||||
bool BannerPrinted = false;
|
||||
for (const LazyCallGraph::Node &N : *C) {
|
||||
const Function &F = N.getFunction();
|
||||
|
@ -110,7 +134,13 @@ void printIR(const LazyCallGraph::SCC *C, StringRef Banner,
|
|||
}
|
||||
}
|
||||
}
|
||||
void printIR(const Loop *L, StringRef Banner) {
|
||||
|
||||
void printIR(const Loop *L, StringRef Banner, bool Brief = false) {
|
||||
if (Brief) {
|
||||
dbgs() << *L;
|
||||
return;
|
||||
}
|
||||
|
||||
const Function *F = L->getHeader()->getParent();
|
||||
if (!llvm::isFunctionInPrintList(F->getName()))
|
||||
return;
|
||||
|
@ -119,7 +149,8 @@ void printIR(const Loop *L, StringRef Banner) {
|
|||
|
||||
/// Generic IR-printing helper that unpacks a pointer to IRUnit wrapped into
|
||||
/// llvm::Any and does actual print job.
|
||||
void unwrapAndPrint(Any IR, StringRef Banner, bool ForceModule = false) {
|
||||
void unwrapAndPrint(Any IR, StringRef Banner, bool ForceModule = false,
|
||||
bool Brief = false) {
|
||||
if (ForceModule) {
|
||||
if (auto UnwrappedModule = unwrapModule(IR))
|
||||
printIR(UnwrappedModule->first, Banner, UnwrappedModule->second);
|
||||
|
@ -129,14 +160,14 @@ void unwrapAndPrint(Any IR, StringRef Banner, bool ForceModule = false) {
|
|||
if (any_isa<const Module *>(IR)) {
|
||||
const Module *M = any_cast<const Module *>(IR);
|
||||
assert(M && "module should be valid for printing");
|
||||
printIR(M, Banner);
|
||||
printIR(M, Banner, "", Brief);
|
||||
return;
|
||||
}
|
||||
|
||||
if (any_isa<const Function *>(IR)) {
|
||||
const Function *F = any_cast<const Function *>(IR);
|
||||
assert(F && "function should be valid for printing");
|
||||
printIR(F, Banner);
|
||||
printIR(F, Banner, "", Brief);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -144,14 +175,14 @@ void unwrapAndPrint(Any IR, StringRef Banner, bool ForceModule = false) {
|
|||
const LazyCallGraph::SCC *C = any_cast<const LazyCallGraph::SCC *>(IR);
|
||||
assert(C && "scc should be valid for printing");
|
||||
std::string Extra = std::string(formatv(" (scc: {0})", C->getName()));
|
||||
printIR(C, Banner, Extra);
|
||||
printIR(C, Banner, Extra, Brief);
|
||||
return;
|
||||
}
|
||||
|
||||
if (any_isa<const Loop *>(IR)) {
|
||||
const Loop *L = any_cast<const Loop *>(IR);
|
||||
assert(L && "Loop should be valid for printing");
|
||||
printIR(L, Banner);
|
||||
printIR(L, Banner, Brief);
|
||||
return;
|
||||
}
|
||||
llvm_unreachable("Unknown wrapped IR type");
|
||||
|
@ -274,9 +305,34 @@ bool OptNoneInstrumentation::skip(StringRef PassID, Any IR) {
|
|||
return true;
|
||||
}
|
||||
|
||||
void PrintPassInstrumentation::registerCallbacks(
|
||||
PassInstrumentationCallbacks &PIC) {
|
||||
if (!DebugLogging)
|
||||
return;
|
||||
|
||||
std::vector<StringRef> SpecialPasses = {"PassManager"};
|
||||
if (!DebugPMVerbose)
|
||||
SpecialPasses.emplace_back("PassAdaptor");
|
||||
|
||||
PIC.registerBeforeNonSkippedPassCallback(
|
||||
[SpecialPasses](StringRef PassID, Any IR) {
|
||||
if (isSpecialPass(PassID, SpecialPasses))
|
||||
return;
|
||||
|
||||
dbgs() << "Running pass: " << PassID << " on ";
|
||||
unwrapAndPrint(IR, "", false, true);
|
||||
});
|
||||
|
||||
PIC.registerBeforeAnalysisCallback([](StringRef PassID, Any IR) {
|
||||
dbgs() << "Running analysis: " << PassID << " on ";
|
||||
unwrapAndPrint(IR, "", false, true);
|
||||
});
|
||||
}
|
||||
|
||||
void StandardInstrumentations::registerCallbacks(
|
||||
PassInstrumentationCallbacks &PIC) {
|
||||
PrintIR.registerCallbacks(PIC);
|
||||
PrintPass.registerCallbacks(PIC);
|
||||
TimePasses.registerCallbacks(PIC);
|
||||
OptNone.registerCallbacks(PIC);
|
||||
}
|
||||
|
|
|
@ -39,9 +39,6 @@ PassManager<Loop, LoopAnalysisManager, LoopStandardAnalysisResults &,
|
|||
if (!PI.runBeforePass<Loop>(*Pass, L))
|
||||
continue;
|
||||
|
||||
if (DebugLogging)
|
||||
dbgs() << "Running pass: " << Pass->name() << " on " << L;
|
||||
|
||||
PreservedAnalyses PassPA;
|
||||
{
|
||||
TimeTraceScope TimeScope(Pass->name(), L.getName());
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
; RUN: | FileCheck %s --check-prefix=CHECK-SCEV-INV-AFTER-DELETE
|
||||
|
||||
define void @no_loops() {
|
||||
; CHECK-LOOP-INV-LABEL: Running pass: FunctionToLoopPassAdaptor<{{.*}}> on no_loops
|
||||
; CHECK-LOOP-INV: Starting {{.*}}Function pass manager run
|
||||
; CHECK-LOOP-INV-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-LOOP-INV-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-LOOP-INV-NEXT: Running analysis: LoopAnalysis
|
||||
|
@ -29,7 +29,6 @@ define void @no_loops() {
|
|||
; CHECK-LOOP-INV-NEXT: Running pass: InvalidateAnalysisPass<{{.*}}LoopAnalysis
|
||||
; CHECK-LOOP-INV-NEXT: Invalidating all non-preserved analyses
|
||||
; CHECK-LOOP-INV-NEXT: Invalidating analysis: LoopAnalysis
|
||||
; CHECK-LOOP-INV-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}> on no_loops
|
||||
; CHECK-LOOP-INV-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-LOOP-INV-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-LOOP-INV-NEXT: Running analysis: LoopAnalysis
|
||||
|
@ -37,7 +36,7 @@ define void @no_loops() {
|
|||
; CHECK-LOOP-INV-NEXT: Finished {{.*}}Function pass manager run
|
||||
; CHECK-LOOP-INV-NEXT: Finished {{.*}}Function pass manager run.
|
||||
;
|
||||
; CHECK-SCEV-INV-LABEL: Running pass: FunctionToLoopPassAdaptor<{{.*}}> on no_loops
|
||||
; CHECK-SCEV-INV: Starting {{.*}}Function pass manager run
|
||||
; CHECK-SCEV-INV-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-SCEV-INV-NEXT: Running analysis: LoopAnalysis
|
||||
|
@ -47,7 +46,6 @@ define void @no_loops() {
|
|||
; CHECK-SCEV-INV-NEXT: Finished {{.*}}Function pass manager run
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: InvalidateAnalysisPass<{{.*}}ScalarEvolutionAnalysis
|
||||
; CHECK-SCEV-INV-NEXT: Invalidating all non-preserved analyses
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}> on no_loops
|
||||
; CHECK-SCEV-INV-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: LCSSAPass
|
||||
|
@ -59,7 +57,7 @@ entry:
|
|||
}
|
||||
|
||||
define void @one_loop(i1* %ptr) {
|
||||
; CHECK-LOOP-INV-LABEL: Running pass: FunctionToLoopPassAdaptor<{{.*}}> on one_loop
|
||||
; CHECK-LOOP-INV: Starting {{.*}}Function pass manager run
|
||||
; CHECK-LOOP-INV-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-LOOP-INV-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-LOOP-INV-NEXT: Running analysis: LoopAnalysis
|
||||
|
@ -73,7 +71,6 @@ define void @one_loop(i1* %ptr) {
|
|||
; CHECK-LOOP-INV-NEXT: Running analysis: TargetIRAnalysis
|
||||
; CHECK-LOOP-INV-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}Loop
|
||||
; CHECK-LOOP-INV-NEXT: Starting {{.*}}Loop pass manager run.
|
||||
; CHECK-LOOP-INV-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-LOOP-INV-NEXT: Running pass: NoOpLoopPass
|
||||
; CHECK-LOOP-INV-NEXT: Finished {{.*}}Loop pass manager run.
|
||||
; CHECK-LOOP-INV-NEXT: Running pass: InvalidateAnalysisPass<{{.*}}LoopAnalysis
|
||||
|
@ -82,7 +79,6 @@ define void @one_loop(i1* %ptr) {
|
|||
; CHECK-LOOP-INV-NEXT: Invalidating analysis: LoopAnalysis
|
||||
; CHECK-LOOP-INV-NEXT: Invalidating analysis: ScalarEvolutionAnalysis
|
||||
; CHECK-LOOP-INV-NEXT: Invalidating analysis: InnerAnalysisManagerProxy<{{.*}}Loop
|
||||
; CHECK-LOOP-INV-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}> on one_loop
|
||||
; CHECK-LOOP-INV-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-LOOP-INV-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-LOOP-INV-NEXT: Running analysis: LoopAnalysis
|
||||
|
@ -91,12 +87,11 @@ define void @one_loop(i1* %ptr) {
|
|||
; CHECK-LOOP-INV-NEXT: Running analysis: ScalarEvolutionAnalysis
|
||||
; CHECK-LOOP-INV-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}Loop
|
||||
; CHECK-LOOP-INV-NEXT: Starting {{.*}}Loop pass manager run.
|
||||
; CHECK-LOOP-INV-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-LOOP-INV-NEXT: Running pass: NoOpLoopPass
|
||||
; CHECK-LOOP-INV-NEXT: Finished {{.*}}Loop pass manager run.
|
||||
; CHECK-LOOP-INV-NEXT: Finished {{.*}}Function pass manager run.
|
||||
;
|
||||
; CHECK-SCEV-INV-LABEL: Running pass: FunctionToLoopPassAdaptor<{{.*}}> on one_loop
|
||||
; CHECK-SCEV-INV: Starting {{.*}}Function pass manager run
|
||||
; CHECK-SCEV-INV-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-SCEV-INV-NEXT: Running analysis: LoopAnalysis
|
||||
|
@ -110,7 +105,6 @@ define void @one_loop(i1* %ptr) {
|
|||
; CHECK-SCEV-INV-NEXT: Running analysis: TargetIRAnalysis
|
||||
; CHECK-SCEV-INV-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}Loop
|
||||
; CHECK-SCEV-INV-NEXT: Starting {{.*}}Loop pass manager run.
|
||||
; CHECK-SCEV-INV-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: NoOpLoopPass
|
||||
; CHECK-SCEV-INV-NEXT: Finished {{.*}}Loop pass manager run.
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: InvalidateAnalysisPass<{{.*}}ScalarEvolutionAnalysis
|
||||
|
@ -118,7 +112,6 @@ define void @one_loop(i1* %ptr) {
|
|||
; CHECK-SCEV-INV-NEXT: Clearing all analysis results for: <possibly invalidated loop>
|
||||
; CHECK-SCEV-INV-NEXT: Invalidating analysis: ScalarEvolutionAnalysis
|
||||
; CHECK-SCEV-INV-NEXT: Invalidating analysis: InnerAnalysisManagerProxy<{{.*}}Loop
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}> on one_loop
|
||||
; CHECK-SCEV-INV-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: LCSSAPass
|
||||
|
@ -126,7 +119,6 @@ define void @one_loop(i1* %ptr) {
|
|||
; CHECK-SCEV-INV-NEXT: Running analysis: ScalarEvolutionAnalysis
|
||||
; CHECK-SCEV-INV-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}Loop
|
||||
; CHECK-SCEV-INV-NEXT: Starting {{.*}}Loop pass manager run.
|
||||
; CHECK-SCEV-INV-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: NoOpLoopPass
|
||||
; CHECK-SCEV-INV-NEXT: Finished {{.*}}Loop pass manager run.
|
||||
; CHECK-SCEV-INV-NEXT: Finished {{.*}}Function pass manager run.
|
||||
|
@ -143,7 +135,7 @@ exit:
|
|||
}
|
||||
|
||||
define void @nested_loops(i1* %ptr) {
|
||||
; CHECK-LOOP-INV-LABEL: Running pass: FunctionToLoopPassAdaptor<{{.*}}> on nested_loops
|
||||
; CHECK-LOOP-INV: Starting {{.*}}Function pass manager run
|
||||
; CHECK-LOOP-INV-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-LOOP-INV-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-LOOP-INV-NEXT: Running analysis: LoopAnalysis
|
||||
|
@ -157,11 +149,9 @@ define void @nested_loops(i1* %ptr) {
|
|||
; CHECK-LOOP-INV-NEXT: Running analysis: TargetIRAnalysis
|
||||
; CHECK-LOOP-INV-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}Loop
|
||||
; CHECK-LOOP-INV-NEXT: Starting {{.*}}Loop pass manager run.
|
||||
; CHECK-LOOP-INV-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-LOOP-INV-NEXT: Running pass: NoOpLoopPass
|
||||
; CHECK-LOOP-INV-NEXT: Finished {{.*}}Loop pass manager run.
|
||||
; CHECK-LOOP-INV-NEXT: Starting {{.*}}Loop pass manager run.
|
||||
; CHECK-LOOP-INV-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-LOOP-INV-NEXT: Running pass: NoOpLoopPass
|
||||
; CHECK-LOOP-INV: Finished {{.*}}Loop pass manager run.
|
||||
; CHECK-LOOP-INV-NEXT: Running pass: InvalidateAnalysisPass<{{.*}}LoopAnalysis
|
||||
|
@ -171,7 +161,6 @@ define void @nested_loops(i1* %ptr) {
|
|||
; CHECK-LOOP-INV-NEXT: Invalidating analysis: LoopAnalysis
|
||||
; CHECK-LOOP-INV-NEXT: Invalidating analysis: ScalarEvolutionAnalysis
|
||||
; CHECK-LOOP-INV-NEXT: Invalidating analysis: InnerAnalysisManagerProxy<{{.*}}Loop
|
||||
; CHECK-LOOP-INV-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}> on nested_loops
|
||||
; CHECK-LOOP-INV-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-LOOP-INV-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-LOOP-INV-NEXT: Running analysis: LoopAnalysis
|
||||
|
@ -180,16 +169,14 @@ define void @nested_loops(i1* %ptr) {
|
|||
; CHECK-LOOP-INV-NEXT: Running analysis: ScalarEvolutionAnalysis
|
||||
; CHECK-LOOP-INV-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}Loop
|
||||
; CHECK-LOOP-INV-NEXT: Starting {{.*}}Loop pass manager run.
|
||||
; CHECK-LOOP-INV-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-LOOP-INV-NEXT: Running pass: NoOpLoopPass
|
||||
; CHECK-LOOP-INV-NEXT: Finished {{.*}}Loop pass manager run.
|
||||
; CHECK-LOOP-INV-NEXT: Starting {{.*}}Loop pass manager run.
|
||||
; CHECK-LOOP-INV-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-LOOP-INV-NEXT: Running pass: NoOpLoopPass
|
||||
; CHECK-LOOP-INV: Finished {{.*}}Loop pass manager run.
|
||||
; CHECK-LOOP-INV-NEXT: Finished {{.*}}Function pass manager run.
|
||||
;
|
||||
; CHECK-SCEV-INV-LABEL: Running pass: FunctionToLoopPassAdaptor<{{.*}}> on nested_loops
|
||||
; CHECK-SCEV-INV: Starting {{.*}}Function pass manager run
|
||||
; CHECK-SCEV-INV-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-SCEV-INV-NEXT: Running analysis: LoopAnalysis
|
||||
|
@ -203,11 +190,9 @@ define void @nested_loops(i1* %ptr) {
|
|||
; CHECK-SCEV-INV-NEXT: Running analysis: TargetIRAnalysis
|
||||
; CHECK-SCEV-INV-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}Loop
|
||||
; CHECK-SCEV-INV-NEXT: Starting {{.*}}Loop pass manager run.
|
||||
; CHECK-SCEV-INV-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: NoOpLoopPass
|
||||
; CHECK-SCEV-INV-NEXT: Finished {{.*}}Loop pass manager run.
|
||||
; CHECK-SCEV-INV-NEXT: Starting {{.*}}Loop pass manager run.
|
||||
; CHECK-SCEV-INV-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: NoOpLoopPass
|
||||
; CHECK-SCEV-INV: Finished {{.*}}Loop pass manager run.
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: InvalidateAnalysisPass<{{.*}}ScalarEvolutionAnalysis
|
||||
|
@ -216,7 +201,6 @@ define void @nested_loops(i1* %ptr) {
|
|||
; CHECK-SCEV-INV-NEXT: Clearing all analysis results for: <possibly invalidated loop>
|
||||
; CHECK-SCEV-INV-NEXT: Invalidating analysis: ScalarEvolutionAnalysis
|
||||
; CHECK-SCEV-INV-NEXT: Invalidating analysis: InnerAnalysisManagerProxy<{{.*}}Loop
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}> on nested_loops
|
||||
; CHECK-SCEV-INV-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: LCSSAPass
|
||||
|
@ -224,11 +208,9 @@ define void @nested_loops(i1* %ptr) {
|
|||
; CHECK-SCEV-INV-NEXT: Running analysis: ScalarEvolutionAnalysis
|
||||
; CHECK-SCEV-INV-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}Loop
|
||||
; CHECK-SCEV-INV-NEXT: Starting {{.*}}Loop pass manager run.
|
||||
; CHECK-SCEV-INV-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: NoOpLoopPass
|
||||
; CHECK-SCEV-INV-NEXT: Finished {{.*}}Loop pass manager run.
|
||||
; CHECK-SCEV-INV-NEXT: Starting {{.*}}Loop pass manager run.
|
||||
; CHECK-SCEV-INV-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: NoOpLoopPass
|
||||
; CHECK-SCEV-INV: Finished {{.*}}Loop pass manager run.
|
||||
; CHECK-SCEV-INV-NEXT: Finished {{.*}}Function pass manager run.
|
||||
|
@ -252,7 +234,7 @@ exit:
|
|||
}
|
||||
|
||||
define void @dead_loop() {
|
||||
; CHECK-LOOP-INV-LABEL: Running pass: FunctionToLoopPassAdaptor<{{.*}}> on dead_loop
|
||||
; CHECK-LOOP-INV: Starting {{.*}}Function pass manager run
|
||||
; CHECK-LOOP-INV-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-LOOP-INV-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-LOOP-INV-NEXT: Running analysis: LoopAnalysis
|
||||
|
@ -266,7 +248,6 @@ define void @dead_loop() {
|
|||
; CHECK-LOOP-INV-NEXT: Running analysis: TargetIRAnalysis
|
||||
; CHECK-LOOP-INV-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}Loop
|
||||
; CHECK-LOOP-INV-NEXT: Starting {{.*}}Loop pass manager run.
|
||||
; CHECK-LOOP-INV-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-LOOP-INV-NEXT: Running pass: NoOpLoopPass
|
||||
; CHECK-LOOP-INV-NEXT: Finished {{.*}}Loop pass manager run.
|
||||
; CHECK-LOOP-INV-NEXT: Running pass: InvalidateAnalysisPass<{{.*}}LoopAnalysis
|
||||
|
@ -275,7 +256,6 @@ define void @dead_loop() {
|
|||
; CHECK-LOOP-INV-NEXT: Invalidating analysis: LoopAnalysis
|
||||
; CHECK-LOOP-INV-NEXT: Invalidating analysis: ScalarEvolutionAnalysis
|
||||
; CHECK-LOOP-INV-NEXT: Invalidating analysis: InnerAnalysisManagerProxy<{{.*}}Loop
|
||||
; CHECK-LOOP-INV-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}> on dead_loop
|
||||
; CHECK-LOOP-INV-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-LOOP-INV-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-LOOP-INV-NEXT: Running analysis: LoopAnalysis
|
||||
|
@ -284,12 +264,11 @@ define void @dead_loop() {
|
|||
; CHECK-LOOP-INV-NEXT: Running analysis: ScalarEvolutionAnalysis
|
||||
; CHECK-LOOP-INV-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}Loop
|
||||
; CHECK-LOOP-INV-NEXT: Starting {{.*}}Loop pass manager run.
|
||||
; CHECK-LOOP-INV-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-LOOP-INV-NEXT: Running pass: NoOpLoopPass
|
||||
; CHECK-LOOP-INV-NEXT: Finished {{.*}}Loop pass manager run.
|
||||
; CHECK-LOOP-INV-NEXT: Finished {{.*}}Function pass manager run.
|
||||
;
|
||||
; CHECK-SCEV-INV-LABEL: Running pass: FunctionToLoopPassAdaptor<{{.*}}> on dead_loop
|
||||
; CHECK-SCEV-INV: Starting {{.*}}Function pass manager run
|
||||
; CHECK-SCEV-INV-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-SCEV-INV-NEXT: Running analysis: LoopAnalysis
|
||||
|
@ -303,7 +282,6 @@ define void @dead_loop() {
|
|||
; CHECK-SCEV-INV-NEXT: Running analysis: TargetIRAnalysis
|
||||
; CHECK-SCEV-INV-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}Loop
|
||||
; CHECK-SCEV-INV-NEXT: Starting {{.*}}Loop pass manager run.
|
||||
; CHECK-SCEV-INV-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: NoOpLoopPass
|
||||
; CHECK-SCEV-INV-NEXT: Finished {{.*}}Loop pass manager run.
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: InvalidateAnalysisPass<{{.*}}ScalarEvolutionAnalysis
|
||||
|
@ -311,7 +289,6 @@ define void @dead_loop() {
|
|||
; CHECK-SCEV-INV-NEXT: Clearing all analysis results for: <possibly invalidated loop>
|
||||
; CHECK-SCEV-INV-NEXT: Invalidating analysis: ScalarEvolutionAnalysis
|
||||
; CHECK-SCEV-INV-NEXT: Invalidating analysis: InnerAnalysisManagerProxy<{{.*}}Loop
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}> on dead_loop
|
||||
; CHECK-SCEV-INV-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: LCSSAPass
|
||||
|
@ -319,14 +296,11 @@ define void @dead_loop() {
|
|||
; CHECK-SCEV-INV-NEXT: Running analysis: ScalarEvolutionAnalysis
|
||||
; CHECK-SCEV-INV-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}Loop
|
||||
; CHECK-SCEV-INV-NEXT: Starting {{.*}}Loop pass manager run.
|
||||
; CHECK-SCEV-INV-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-SCEV-INV-NEXT: Running pass: NoOpLoopPass
|
||||
; CHECK-SCEV-INV-NEXT: Finished {{.*}}Loop pass manager run.
|
||||
; CHECK-SCEV-INV-NEXT: Finished {{.*}}Function pass manager run.
|
||||
;
|
||||
; CHECK-SCEV-INV-AFTER-DELETE-LABEL: Running pass: FunctionToLoopPassAdaptor<{{.*}}> on dead_loop
|
||||
; CHECK-SCEV-INV-AFTER-DELETE-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-SCEV-INV-AFTER-DELETE-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-SCEV-INV-AFTER-DELETE-LABEL: Running pass: LoopSimplifyPass on dead_loop
|
||||
; CHECK-SCEV-INV-AFTER-DELETE-NEXT: Running analysis: LoopAnalysis
|
||||
; CHECK-SCEV-INV-AFTER-DELETE-NEXT: Running analysis: DominatorTreeAnalysis
|
||||
; CHECK-SCEV-INV-AFTER-DELETE-NEXT: Running analysis: AssumptionAnalysis
|
||||
|
@ -338,7 +312,6 @@ define void @dead_loop() {
|
|||
; CHECK-SCEV-INV-AFTER-DELETE-NEXT: Running analysis: TargetIRAnalysis
|
||||
; CHECK-SCEV-INV-AFTER-DELETE-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}Loop
|
||||
; CHECK-SCEV-INV-AFTER-DELETE-NEXT: Starting {{.*}}Loop pass manager run.
|
||||
; CHECK-SCEV-INV-AFTER-DELETE-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-SCEV-INV-AFTER-DELETE-NEXT: Running pass: NoOpLoopPass
|
||||
; CHECK-SCEV-INV-AFTER-DELETE-NEXT: Running pass: LoopDeletionPass
|
||||
; CHECK-SCEV-INV-AFTER-DELETE-NEXT: Clearing all analysis results for:
|
||||
|
@ -348,7 +321,6 @@ define void @dead_loop() {
|
|||
; CHECK-SCEV-INV-AFTER-DELETE-NEXT: Invalidating all non-preserved analyses
|
||||
; CHECK-SCEV-INV-AFTER-DELETE-NEXT: Invalidating analysis: ScalarEvolutionAnalysis
|
||||
; CHECK-SCEV-INV-AFTER-DELETE-NEXT: Invalidating analysis: InnerAnalysisManagerProxy<{{.*}}Loop
|
||||
; CHECK-SCEV-INV-AFTER-DELETE-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}> on dead_loop
|
||||
; CHECK-SCEV-INV-AFTER-DELETE-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-SCEV-INV-AFTER-DELETE-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-SCEV-INV-AFTER-DELETE-NEXT: Running pass: LCSSAPass
|
||||
|
|
|
@ -19,14 +19,11 @@
|
|||
; RUN: -passes='cgscc(no-op-cgscc)' %s 2>&1 \
|
||||
; RUN: | FileCheck %s --check-prefix=CHECK-CGSCC-PASS
|
||||
; CHECK-CGSCC-PASS: Starting llvm::Module pass manager run
|
||||
; CHECK-CGSCC-PASS-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor
|
||||
; CHECK-CGSCC-PASS-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*(CGSCCAnalysisManager|AnalysisManager<.*LazyCallGraph::SCC.*>).*}},{{.*}}Module>
|
||||
; CHECK-CGSCC-PASS-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*(FunctionAnalysisManager|AnalysisManager<.*Function.*>).*}},{{.*}}Module>
|
||||
; CHECK-CGSCC-PASS-NEXT: Running analysis: LazyCallGraphAnalysis
|
||||
; CHECK-CGSCC-PASS-NEXT: Running analysis: TargetLibraryAnalysis
|
||||
; CHECK-CGSCC-PASS-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-CGSCC-PASS-NEXT: Running analysis: FunctionAnalysisManagerCGSCCProxy
|
||||
; CHECK-CGSCC-PASS-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-CGSCC-PASS-NEXT: Running analysis: OuterAnalysisManagerProxy<{{.*}}LazyCallGraph::SCC{{.*}}>
|
||||
; CHECK-CGSCC-PASS-NEXT: Starting CGSCC pass manager run
|
||||
; CHECK-CGSCC-PASS-NEXT: Running pass: NoOpCGSCCPass
|
||||
|
@ -40,9 +37,7 @@
|
|||
; RUN: -passes='function(no-op-function)' %s 2>&1 \
|
||||
; RUN: | FileCheck %s --check-prefix=CHECK-FUNCTION-PASS
|
||||
; CHECK-FUNCTION-PASS: Starting llvm::Module pass manager run
|
||||
; CHECK-FUNCTION-PASS-NEXT: Running pass: ModuleToFunctionPassAdaptor
|
||||
; CHECK-FUNCTION-PASS-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}>
|
||||
; CHECK-FUNCTION-PASS-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-FUNCTION-PASS-NEXT: Starting llvm::Function pass manager run
|
||||
; CHECK-FUNCTION-PASS-NEXT: Running pass: NoOpFunctionPass
|
||||
; CHECK-FUNCTION-PASS-NEXT: Finished llvm::Function pass manager run
|
||||
|
@ -71,7 +66,6 @@
|
|||
; RUN: | FileCheck %s --check-prefix=CHECK-FUNCTION-PRINT
|
||||
; CHECK-FUNCTION-PRINT: Starting llvm::Module pass manager run
|
||||
; CHECK-FUNCTION-PRINT: Running pass: VerifierPass
|
||||
; CHECK-FUNCTION-PRINT: Running pass: ModuleToFunctionPassAdaptor
|
||||
; CHECK-FUNCTION-PRINT: Running analysis: InnerAnalysisManagerProxy<{{.*}}>
|
||||
; CHECK-FUNCTION-PRINT: Starting llvm::Function pass manager run
|
||||
; CHECK-FUNCTION-PRINT: Running pass: PrintFunctionPass
|
||||
|
@ -406,14 +400,11 @@
|
|||
; RUN: -passes='cgscc(repeat<3>(no-op-cgscc))' %s 2>&1 \
|
||||
; RUN: | FileCheck %s --check-prefix=CHECK-REPEAT-CGSCC-PASS
|
||||
; CHECK-REPEAT-CGSCC-PASS: Starting llvm::Module pass manager run
|
||||
; CHECK-REPEAT-CGSCC-PASS-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor
|
||||
; CHECK-REPEAT-CGSCC-PASS-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*(CGSCCAnalysisManager|AnalysisManager<.*LazyCallGraph::SCC.*>).*}},{{.*}}Module>
|
||||
; CHECK-REPEAT-CGSCC-PASS-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*(FunctionAnalysisManager|AnalysisManager<.*Function.*>).*}},{{.*}}Module>
|
||||
; CHECK-REPEAT-CGSCC-PASS-NEXT: Running analysis: LazyCallGraphAnalysis
|
||||
; CHECK-REPEAT-CGSCC-PASS-NEXT: Running analysis: TargetLibraryAnalysis
|
||||
; CHECK-REPEAT-CGSCC-PASS-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-REPEAT-CGSCC-PASS-NEXT: Running analysis: FunctionAnalysisManagerCGSCCProxy
|
||||
; CHECK-REPEAT-CGSCC-PASS-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-REPEAT-CGSCC-PASS-NEXT: Running analysis: OuterAnalysisManagerProxy<{{.*}}LazyCallGraph::SCC{{.*}}>
|
||||
; CHECK-REPEAT-CGSCC-PASS-NEXT: Starting CGSCC pass manager run
|
||||
; CHECK-REPEAT-CGSCC-PASS-NEXT: Running pass: RepeatedPass
|
||||
|
@ -433,9 +424,7 @@
|
|||
; RUN: -passes='function(repeat<3>(no-op-function))' %s 2>&1 \
|
||||
; RUN: | FileCheck %s --check-prefix=CHECK-REPEAT-FUNCTION-PASS
|
||||
; CHECK-REPEAT-FUNCTION-PASS: Starting llvm::Module pass manager run
|
||||
; CHECK-REPEAT-FUNCTION-PASS-NEXT: Running pass: ModuleToFunctionPassAdaptor
|
||||
; CHECK-REPEAT-FUNCTION-PASS-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}>
|
||||
; CHECK-REPEAT-FUNCTION-PASS-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-REPEAT-FUNCTION-PASS-NEXT: Starting llvm::Function pass manager run
|
||||
; CHECK-REPEAT-FUNCTION-PASS-NEXT: Running pass: RepeatedPass
|
||||
; CHECK-REPEAT-FUNCTION-PASS-NEXT: Starting llvm::Function pass manager run
|
||||
|
@ -454,11 +443,8 @@
|
|||
; RUN: -passes='loop(repeat<3>(no-op-loop))' %s 2>&1 \
|
||||
; RUN: | FileCheck %s --check-prefix=CHECK-REPEAT-LOOP-PASS
|
||||
; CHECK-REPEAT-LOOP-PASS: Starting llvm::Module pass manager run
|
||||
; CHECK-REPEAT-LOOP-PASS-NEXT: Running pass: ModuleToFunctionPassAdaptor
|
||||
; CHECK-REPEAT-LOOP-PASS-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}>
|
||||
; CHECK-REPEAT-LOOP-PASS-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-REPEAT-LOOP-PASS-NEXT: Starting llvm::Function pass manager run
|
||||
; CHECK-REPEAT-LOOP-PASS-NEXT: Running pass: FunctionToLoopPassAdaptor
|
||||
; CHECK-REPEAT-LOOP-PASS-NEXT: Starting llvm::Function pass manager run
|
||||
; CHECK-REPEAT-LOOP-PASS-NEXT: Running pass: LoopSimplify
|
||||
; CHECK-REPEAT-LOOP-PASS-NEXT: Running analysis: LoopAnalysis
|
||||
|
@ -473,7 +459,6 @@
|
|||
; CHECK-REPEAT-LOOP-PASS-NEXT: Running analysis: TargetIRAnalysis
|
||||
; CHECK-REPEAT-LOOP-PASS-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}>
|
||||
; CHECK-REPEAT-LOOP-PASS-NEXT: Starting Loop pass manager run
|
||||
; CHECK-REPEAT-LOOP-PASS-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-REPEAT-LOOP-PASS-NEXT: Running pass: RepeatedPass
|
||||
; CHECK-REPEAT-LOOP-PASS-NEXT: Starting Loop pass manager run
|
||||
; CHECK-REPEAT-LOOP-PASS-NEXT: Running pass: NoOpLoopPass
|
||||
|
|
|
@ -88,20 +88,14 @@
|
|||
; RUN: --check-prefix=%llvmcheckext \
|
||||
; RUN: --check-prefix=CHECK-EP-OPTIMIZER-LAST --check-prefix=CHECK-O23SZ
|
||||
|
||||
; CHECK-O: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Starting llvm::Module pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
||||
; CHECK-O: Starting llvm::Module pass manager run.
|
||||
; CHECK-O-NEXT: Starting llvm::Module pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: ForceFunctionAttrsPass
|
||||
; CHECK-EP-PIPELINE-START-NEXT: Running pass: NoOpModulePass
|
||||
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
||||
; CHECK-O-NEXT: Starting llvm::Module pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: InferFunctionAttrsPass
|
||||
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O-NEXT: Running analysis: TargetLibraryAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Starting llvm::Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running analysis: TargetIRAnalysis
|
||||
|
@ -116,9 +110,8 @@
|
|||
; CHECK-O-NEXT: Running pass: IPSCCPPass
|
||||
; CHECK-O-NEXT: Running pass: CalledValuePropagationPass
|
||||
; CHECK-O-NEXT: Running pass: GlobalOptPass
|
||||
; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PromotePass>
|
||||
; CHECK-O-NEXT: Running pass: PromotePass
|
||||
; CHECK-O-NEXT: Running pass: DeadArgumentEliminationPass
|
||||
; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-O-NEXT: Starting llvm::Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: InstCombinePass
|
||||
; CHECK-O-NEXT: Running analysis: OptimizationRemarkEmitterAnalysis
|
||||
|
@ -135,19 +128,17 @@
|
|||
; CHECK-O-NEXT: Running analysis: CallGraphAnalysis
|
||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: ProfileSummaryAnalysis
|
||||
; CHECK-O-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}LazyCallGraph{{.*}}>
|
||||
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O-NEXT: Running analysis: LazyCallGraphAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: FunctionAnalysisManagerCGSCCProxy
|
||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy<{{.*}}LazyCallGraph::SCC{{.*}}>
|
||||
; CHECK-O-NEXT: Running pass: DevirtSCCRepeatedPass
|
||||
; CHECK-O-NEXT: Starting CGSCC pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: InlinerPass
|
||||
; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass
|
||||
; CHECK-O3-NEXT: Running pass: ArgumentPromotionPass
|
||||
; CHECK-O2-NEXT: Running pass: OpenMPOptPass on (foo)
|
||||
; CHECK-O3-NEXT: Running pass: OpenMPOptPass on (foo)
|
||||
; CHECK-O-NEXT: Running pass: CGSCCToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-O-NEXT: Starting llvm::Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: SROA
|
||||
; CHECK-O-NEXT: Running pass: EarlyCSEPass
|
||||
|
@ -167,7 +158,6 @@
|
|||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running pass: ReassociatePass
|
||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}OptimizationRemarkEmitterAnalysis
|
||||
; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopStandardAnalysisResults{{.*}}>
|
||||
; CHECK-O-NEXT: Starting llvm::Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-O-NEXT: Running analysis: LoopAnalysis
|
||||
|
@ -176,7 +166,6 @@
|
|||
; CHECK-O-NEXT: Running analysis: ScalarEvolutionAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O-NEXT: Starting Loop pass manager run.
|
||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Running pass: LoopInstSimplifyPass
|
||||
; CHECK-O-NEXT: Running pass: LoopSimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running pass: LoopRotatePass
|
||||
|
@ -185,7 +174,6 @@
|
|||
; CHECK-O-NEXT: Finished Loop pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running pass: InstCombinePass
|
||||
; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopStandardAnalysisResults{{.*}}>
|
||||
; CHECK-O-NEXT: Starting llvm::Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-O-NEXT: Running pass: LCSSAPass
|
||||
|
@ -214,11 +202,11 @@
|
|||
; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass
|
||||
; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass
|
||||
; CHECK-O23SZ-NEXT: Running pass: DSEPass
|
||||
; CHECK-O23SZ-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LICMPass{{.*}}>
|
||||
; CHECK-O23SZ-NEXT: Starting llvm::Function pass manager run.
|
||||
; CHECK-O23SZ-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-O23SZ-NEXT: Running pass: LCSSAPass
|
||||
; CHECK-O23SZ-NEXT: Finished llvm::Function pass manager run.
|
||||
; CHECK-O23SZ-NEXT: Running pass: LICMPass
|
||||
; CHECK-EP-SCALAR-LATE-NEXT: Running pass: NoOpFunctionPass
|
||||
; CHECK-O-NEXT: Running pass: ADCEPass
|
||||
; CHECK-O-NEXT: Running analysis: PostDominatorTreeAnalysis
|
||||
|
@ -230,24 +218,22 @@
|
|||
; CHECK-O-NEXT: Finished CGSCC pass manager run.
|
||||
; CHECK-O-NEXT: Finished llvm::Module pass manager run.
|
||||
; CHECK-O-NEXT: Finished llvm::Module pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
||||
; CHECK-O-NEXT: Starting llvm::Module pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: GlobalOptPass
|
||||
; CHECK-O-NEXT: Running pass: GlobalDCEPass
|
||||
; CHECK-O2-LTO-NOT: Running pass: EliminateAvailableExternallyPass
|
||||
; CHECK-O: Running pass: ReversePostOrderFunctionAttrsPass
|
||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA
|
||||
; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-O-NEXT: Starting llvm::Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: Float2IntPass
|
||||
; CHECK-O-NEXT: Running pass: LowerConstantIntrinsicsPass on foo
|
||||
; CHECK-EP-VECTORIZER-START-NEXT: Running pass: NoOpFunctionPass
|
||||
; CHECK-EXT: Running pass: {{.*}}::Bye on foo
|
||||
; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopRotatePass
|
||||
; CHECK-O-NEXT: Starting llvm::Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-O-NEXT: Running pass: LCSSAPass
|
||||
; CHECK-O-NEXT: Finished llvm::Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: LoopRotatePass
|
||||
; CHECK-O-NEXT: Running pass: LoopDistributePass
|
||||
; CHECK-O-NEXT: Running pass: InjectTLIMappings
|
||||
; CHECK-O-NEXT: Running pass: LoopVectorizePass
|
||||
|
@ -266,11 +252,11 @@
|
|||
; CHECK-O-NEXT: Running pass: WarnMissedTransformationsPass
|
||||
; CHECK-O-NEXT: Running pass: InstCombinePass
|
||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}OptimizationRemarkEmitterAnalysis
|
||||
; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LICMPass
|
||||
; CHECK-O-NEXT: Starting llvm::Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-O-NEXT: Running pass: LCSSAPass
|
||||
; CHECK-O-NEXT: Finished llvm::Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: LICMPass
|
||||
; CHECK-O-NEXT: Running pass: AlignmentFromAssumptionsPass
|
||||
; CHECK-O-NEXT: Running pass: LoopSinkPass
|
||||
; CHECK-O-NEXT: Running pass: InstSimplifyPass
|
||||
|
|
|
@ -23,19 +23,13 @@
|
|||
; RUN: | FileCheck %s --check-prefix=CHECK-O --check-prefix=CHECK-O2 \
|
||||
; RUN: --check-prefix=CHECK-O3 --check-prefix=CHECK-EP-Peephole
|
||||
|
||||
; CHECK-O: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Starting llvm::Module pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module
|
||||
; CHECK-O: Starting llvm::Module pass manager run.
|
||||
; CHECK-O-NEXT: Starting llvm::Module pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: GlobalDCEPass
|
||||
; CHECK-O-NEXT: Running pass: ForceFunctionAttrsPass
|
||||
; CHECK-O-NEXT: Running pass: InferFunctionAttrsPass
|
||||
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}Module
|
||||
; CHECK-O-NEXT: Running analysis: TargetLibraryAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O1-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}PostOrderFunctionAttrsPass>
|
||||
; CHECK-O2-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-O2-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O2-NEXT: Starting llvm::Function pass manager run.
|
||||
; CHECK-O2-NEXT: Running pass: CallSiteSplittingPass on foo
|
||||
; CHECK-O2-NEXT: Running analysis: TargetLibraryAnalysis on foo
|
||||
|
@ -48,14 +42,12 @@
|
|||
; CHECK-O2-NEXT: Running pass: IPSCCPPass
|
||||
; CHECK-O2-NEXT: Running analysis: AssumptionAnalysis on foo
|
||||
; CHECK-O2-NEXT: Running pass: CalledValuePropagationPass
|
||||
; CHECK-O2-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}PostOrderFunctionAttrsPass>
|
||||
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}SCC
|
||||
; CHECK-O-NEXT: Running analysis: LazyCallGraphAnalysis
|
||||
; CHECK-O1-NEXT: Running analysis: TargetLibraryAnalysis
|
||||
; CHECK-O1-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: FunctionAnalysisManagerCGSCCProxy
|
||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy<{{.*}}LazyCallGraph{{.*}}>
|
||||
; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass
|
||||
; CHECK-O-NEXT: Running analysis: AAManager
|
||||
; CHECK-O-NEXT: Running pass: ReversePostOrderFunctionAttrsPass
|
||||
; CHECK-O-NEXT: Running analysis: CallGraphAnalysis
|
||||
|
@ -63,10 +55,9 @@
|
|||
; CHECK-O-NEXT: Running pass: WholeProgramDevirtPass
|
||||
; CHECK-O1-NEXT: Running pass: LowerTypeTestsPass
|
||||
; CHECK-O2-NEXT: Running pass: GlobalOptPass
|
||||
; CHECK-O2-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PromotePass>
|
||||
; CHECK-O2-NEXT: Running pass: PromotePass
|
||||
; CHECK-O2-NEXT: Running pass: ConstantMergePass
|
||||
; CHECK-O2-NEXT: Running pass: DeadArgumentEliminationPass
|
||||
; CHECK-O2-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-O2-NEXT: Starting llvm::Function pass manager run.
|
||||
; CHECK-O3-NEXT: Running pass: AggressiveInstCombinePass
|
||||
; CHECK-O2-NEXT: Running pass: InstCombinePass
|
||||
|
@ -76,14 +67,12 @@
|
|||
; CHECK-O2-NEXT: Running pass: ModuleInlinerWrapperPass
|
||||
; CHECK-O2-NEXT: Running analysis: InlineAdvisorAnalysis
|
||||
; CHECK-O2-NEXT: Starting llvm::Module pass manager run.
|
||||
; CHECK-O2-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-O2-NEXT: Starting CGSCC pass manager run.
|
||||
; CHECK-O2-NEXT: Running pass: InlinerPass
|
||||
; CHECK-O2-NEXT: Finished CGSCC pass manager run.
|
||||
; CHECK-O2-NEXT: Finished llvm::Module pass manager run.
|
||||
; CHECK-O2-NEXT: Running pass: GlobalOptPass
|
||||
; CHECK-O2-NEXT: Running pass: GlobalDCEPass
|
||||
; CHECK-O2-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-O2-NEXT: Starting llvm::Function pass manager run.
|
||||
; CHECK-O2-NEXT: Running pass: InstCombinePass
|
||||
; CHECK-EP-Peephole-NEXT: Running pass: NoOpFunctionPass
|
||||
|
@ -92,15 +81,25 @@
|
|||
; CHECK-O2-NEXT: Running pass: SROA on foo
|
||||
; CHECK-O2-NEXT: Running pass: TailCallElimPass on foo
|
||||
; CHECK-O2-NEXT: Finished llvm::Function pass manager run.
|
||||
; CHECK-O2-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}PostOrderFunctionAttrsPass>
|
||||
; CHECK-O2-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-O2-NEXT: Running pass: PostOrderFunctionAttrsPass
|
||||
; CHECK-O2-NEXT: Running pass: GVN on foo
|
||||
; CHECK-O2-NEXT: Running analysis: MemoryDependenceAnalysis
|
||||
; CHECK-O2-NEXT: Running analysis: PhiValuesAnalysis
|
||||
; CHECK-O2-NEXT: Running pass: MemCpyOptPass on foo
|
||||
; CHECK-O2-NEXT: Running pass: DSEPass on foo
|
||||
; CHECK-O2-NEXT: Running pass: InstCombinePass on foo
|
||||
; CHECK-O2-NEXT: Running pass: SimplifyCFGPass on foo
|
||||
; CHECK-O2-NEXT: Running pass: SCCPPass on foo
|
||||
; CHECK-O2-NEXT: Running pass: InstCombinePass on foo
|
||||
; CHECK-O2-NEXT: Running pass: BDCEPass on foo
|
||||
; CHECK-O2-NEXT: Running analysis: DemandedBitsAnalysis
|
||||
; CHECK-O2-NEXT: Running pass: InstCombinePass
|
||||
; CHECK-EP-Peephole-NEXT: Running pass: NoOpFunctionPass
|
||||
; CHECK-O2-NEXT: Running pass: JumpThreadingPass
|
||||
; CHECK-O2-NEXT: Running pass: CrossDSOCFIPass
|
||||
; CHECK-O2-NEXT: Running pass: LowerTypeTestsPass
|
||||
; CHECK-O-NEXT: Running pass: LowerTypeTestsPass
|
||||
; CHECK-O2-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}SimplifyCFGPass>
|
||||
; CHECK-O2-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O2-NEXT: Running pass: EliminateAvailableExternallyPass
|
||||
; CHECK-O2-NEXT: Running pass: GlobalDCEPass
|
||||
; CHECK-O-NEXT: Finished llvm::Module pass manager run.
|
||||
|
|
|
@ -18,8 +18,8 @@
|
|||
; USE: Running pass: PGOMemOPSizeOpt
|
||||
; USE_POST_LINK: Running pass: PGOIndirectCallPromotion
|
||||
; USE_POST_LINK: Running pass: PGOMemOPSizeOpt
|
||||
; SAMPLE_USE_O: Running pass: ModuleToFunctionPassAdaptor<{{.*}}AddDiscriminatorsPass{{.*}}>
|
||||
; SAMPLE_USE_PRE_LINK: Running pass: ModuleToFunctionPassAdaptor<{{.*}}AddDiscriminatorsPass{{.*}}>
|
||||
; SAMPLE_USE_O: Running pass: AddDiscriminatorsPass
|
||||
; SAMPLE_USE_PRE_LINK: Running pass: AddDiscriminatorsPass
|
||||
; SAMPLE_USE: Running pass: SimplifyCFGPass
|
||||
; SAMPLE_USE: Running pass: SROA
|
||||
; SAMPLE_USE: Running pass: EarlyCSEPass
|
||||
|
@ -30,7 +30,7 @@
|
|||
; SAMPLE_USE_POST_LINK-NOT: Running pass: GlobalOptPass
|
||||
; SAMPLE_USE_POST_LINK: Running pass: PGOIndirectCallPromotion
|
||||
; SAMPLE_USE_PRE_LINK-NOT: Running pass: PGOIndirectCallPromotion
|
||||
; SAMPLE_GEN: Running pass: ModuleToFunctionPassAdaptor<{{.*}}AddDiscriminatorsPass{{.*}}>
|
||||
; SAMPLE_GEN: Running pass: AddDiscriminatorsPass
|
||||
; SPLIT: Running pass: HotColdSplittingPass
|
||||
|
||||
define void @foo() {
|
||||
|
|
|
@ -47,27 +47,20 @@
|
|||
; RUN: -passes='thinlto<O2>' -S %s 2>&1 \
|
||||
; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23SZ,CHECK-POSTLINK-O,%llvmcheckext,CHECK-POSTLINK-O2
|
||||
;
|
||||
; CHECK-O: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Starting llvm::Module pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
||||
; CHECK-O: Starting llvm::Module pass manager run.
|
||||
; CHECK-O-NEXT: Starting llvm::Module pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: ForceFunctionAttrsPass
|
||||
; CHECK-EP-PIPELINE-START-NEXT: Running pass: NoOpModulePass
|
||||
; CHECK-DIS-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}AddDiscriminatorsPass{{.*}}>
|
||||
; CHECK-DIS-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
||||
; CHECK-DIS-NEXT: Running pass: AddDiscriminatorsPass
|
||||
; CHECK-O-NEXT: Starting llvm::Module pass manager run.
|
||||
; CHECK-POSTLINK-O-NEXT: Running pass: PGOIndirectCallPromotion
|
||||
; CHECK-POSTLINK-O-NEXT: Running analysis: ProfileSummaryAnalysis
|
||||
; CHECK-POSTLINK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-POSTLINK-O-NEXT: Running analysis: OptimizationRemarkEmitterAnalysis
|
||||
; CHECK-POSTLINK-O-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Running pass: InferFunctionAttrsPass
|
||||
; CHECK-PRELINK-O-NODIS-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O-NEXT: Running analysis: TargetLibraryAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-PRELINK-O-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Starting llvm::Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running analysis: TargetIRAnalysis
|
||||
|
@ -83,9 +76,8 @@
|
|||
; CHECK-O-NEXT: Running pass: IPSCCPPass
|
||||
; CHECK-O-NEXT: Running pass: CalledValuePropagationPass
|
||||
; CHECK-O-NEXT: Running pass: GlobalOptPass
|
||||
; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PromotePass>
|
||||
; CHECK-O-NEXT: Running pass: PromotePass
|
||||
; CHECK-O-NEXT: Running pass: DeadArgumentEliminationPass
|
||||
; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-O-NEXT: Starting llvm::Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: InstCombinePass
|
||||
; CHECK-PRELINK-O-NEXT: Running analysis: OptimizationRemarkEmitterAnalysis
|
||||
|
@ -101,19 +93,17 @@
|
|||
; CHECK-O-NEXT: Running analysis: CallGraphAnalysis
|
||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis
|
||||
; CHECK-PRELINK-O-NEXT: Running analysis: ProfileSummaryAnalysis
|
||||
; CHECK-O-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}LazyCallGraph{{.*}}>
|
||||
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O-NEXT: Running analysis: LazyCallGraphAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: FunctionAnalysisManagerCGSCCProxy
|
||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy<{{.*}}LazyCallGraph::SCC{{.*}}>
|
||||
; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy
|
||||
; CHECK-O-NEXT: Running pass: DevirtSCCRepeatedPass
|
||||
; CHECK-O-NEXT: Starting CGSCC pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: InlinerPass
|
||||
; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass
|
||||
; CHECK-O3-NEXT: Running pass: ArgumentPromotionPass
|
||||
; CHECK-O2-NEXT: Running pass: OpenMPOptPass on (foo)
|
||||
; CHECK-O3-NEXT: Running pass: OpenMPOptPass on (foo)
|
||||
; CHECK-O-NEXT: Running pass: CGSCCToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-O-NEXT: Starting llvm::Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: SROA
|
||||
; CHECK-O-NEXT: Running pass: EarlyCSEPass
|
||||
|
@ -132,7 +122,6 @@
|
|||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running pass: ReassociatePass
|
||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}OptimizationRemarkEmitterAnalysis
|
||||
; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopStandardAnalysisResults{{.*}}>
|
||||
; CHECK-O-NEXT: Starting llvm::Function pass manager run
|
||||
; CHECK-O-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-O-NEXT: Running analysis: LoopAnalysis
|
||||
|
@ -141,7 +130,6 @@
|
|||
; CHECK-O-NEXT: Running analysis: ScalarEvolutionAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O-NEXT: Starting Loop pass manager run.
|
||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Running pass: LoopInstSimplifyPass
|
||||
; CHECK-O-NEXT: Running pass: LoopSimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running pass: LoopRotatePass
|
||||
|
@ -150,7 +138,6 @@
|
|||
; CHECK-O-NEXT: Finished Loop pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running pass: InstCombinePass
|
||||
; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopStandardAnalysisResults{{.*}}>
|
||||
; CHECK-O-NEXT: Starting llvm::Function pass manager run
|
||||
; CHECK-O-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-O-NEXT: Running pass: LCSSAPass
|
||||
|
@ -188,11 +175,11 @@
|
|||
; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass
|
||||
; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass
|
||||
; CHECK-O23SZ-NEXT: Running pass: DSEPass
|
||||
; CHECK-O23SZ-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LICMPass{{.*}}>
|
||||
; CHECK-O23SZ-NEXT: Starting llvm::Function pass manager run
|
||||
; CHECK-O23SZ-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-O23SZ-NEXT: Running pass: LCSSAPass
|
||||
; CHECK-O23SZ-NEXT: Finished llvm::Function pass manager run
|
||||
; CHECK-O23SZ-NEXT: Running pass: LICMPass on Loop at depth 1 containing: %loop
|
||||
; CHECK-O-NEXT: Running pass: ADCEPass
|
||||
; CHECK-O-NEXT: Running analysis: PostDominatorTreeAnalysis
|
||||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
|
@ -202,23 +189,21 @@
|
|||
; CHECK-O-NEXT: Finished llvm::Module pass manager run.
|
||||
; CHECK-O-NEXT: Finished llvm::Module pass manager run.
|
||||
; CHECK-PRELINK-O-NEXT: Running pass: GlobalOptPass
|
||||
; CHECK-POSTLINK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
||||
; CHECK-POSTLINK-O-NEXT: Starting llvm::Module pass manager run.
|
||||
; CHECK-POSTLINK-O-NEXT: Running pass: GlobalOptPass
|
||||
; CHECK-POSTLINK-O-NEXT: Running pass: GlobalDCEPass
|
||||
; CHECK-POSTLINK-O-NEXT: Running pass: EliminateAvailableExternallyPass
|
||||
; CHECK-POSTLINK-O-NEXT: Running pass: ReversePostOrderFunctionAttrsPass
|
||||
; CHECK-POSTLINK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA
|
||||
; CHECK-POSTLINK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-POSTLINK-O-NEXT: Starting llvm::Function pass manager run.
|
||||
; CHECK-POSTLINK-O-NEXT: Running pass: Float2IntPass
|
||||
; CHECK-POSTLINK-O-NEXT: Running pass: LowerConstantIntrinsicsPass
|
||||
; CHECK-EXT: Running pass: {{.*}}::Bye
|
||||
; CHECK-POSTLINK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopRotatePass
|
||||
; CHECK-POSTLINK-O-NEXT: Starting llvm::Function pass manager run
|
||||
; CHECK-POSTLINK-O-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-POSTLINK-O-NEXT: Running pass: LCSSAPass
|
||||
; CHECK-POSTLINK-O-NEXT: Finished llvm::Function pass manager run
|
||||
; CHECK-POSTLINK-O-NEXT: Running pass: LoopRotatePass
|
||||
; CHECK-POSTLINK-O-NEXT: Running pass: LoopDistributePass
|
||||
; CHECK-POSTLINK-O-NEXT: Running pass: InjectTLIMappings
|
||||
; CHECK-POSTLINK-O-NEXT: Running pass: LoopVectorizePass
|
||||
|
@ -237,11 +222,11 @@
|
|||
; CHECK-POSTLINK-O-NEXT: Running pass: WarnMissedTransformationsPass
|
||||
; CHECK-POSTLINK-O-NEXT: Running pass: InstCombinePass
|
||||
; CHECK-POSTLINK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}OptimizationRemarkEmitterAnalysis
|
||||
; CHECK-POSTLINK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LICMPass
|
||||
; CHECK-POSTLINK-O-NEXT: Starting llvm::Function pass manager run
|
||||
; CHECK-POSTLINK-O-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-POSTLINK-O-NEXT: Running pass: LCSSAPass
|
||||
; CHECK-POSTLINK-O-NEXT: Finished llvm::Function pass manager run
|
||||
; CHECK-POSTLINK-O-NEXT: Running pass: LICMPass
|
||||
; CHECK-POSTLINK-O-NEXT: Running pass: AlignmentFromAssumptionsPass
|
||||
; CHECK-POSTLINK-O-NEXT: Running pass: LoopSinkPass
|
||||
; CHECK-POSTLINK-O-NEXT: Running pass: InstSimplifyPass
|
||||
|
|
|
@ -20,23 +20,17 @@
|
|||
; RUN: -passes='thinlto<O2>' -S %s 2>&1 \
|
||||
; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23SZ,%llvmcheckext --dump-input=fail
|
||||
;
|
||||
; CHECK-O: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Starting {{.*}}Module pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
||||
; CHECK-O: Starting {{.*}}Module pass manager run.
|
||||
; CHECK-O-NEXT: Starting {{.*}}Module pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: ForceFunctionAttrsPass
|
||||
; CHECK-EP-PIPELINE-START-NEXT: Running pass: NoOpModulePass
|
||||
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
||||
; CHECK-O-NEXT: Starting {{.*}}Module pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: PGOIndirectCallPromotion
|
||||
; CHECK-O-NEXT: Running analysis: ProfileSummaryAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O-NEXT: Running analysis: OptimizationRemarkEmitterAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Running pass: InferFunctionAttrsPass
|
||||
; CHECK-O-NEXT: Running analysis: TargetLibraryAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-O-NEXT: Starting {{.*}}Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running analysis: TargetIRAnalysis
|
||||
|
@ -52,9 +46,8 @@
|
|||
; CHECK-O-NEXT: Running pass: IPSCCPPass
|
||||
; CHECK-O-NEXT: Running pass: CalledValuePropagationPass
|
||||
; CHECK-O-NEXT: Running pass: GlobalOptPass
|
||||
; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PromotePass>
|
||||
; CHECK-O-NEXT: Running pass: PromotePass
|
||||
; CHECK-O-NEXT: Running pass: DeadArgumentEliminationPass
|
||||
; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-O-NEXT: Starting {{.*}}Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: InstCombinePass
|
||||
; CHECK-O-NEXT: Running analysis: AAManager
|
||||
|
@ -74,19 +67,17 @@
|
|||
; CHECK-O-NEXT: Running analysis: GlobalsAA
|
||||
; CHECK-O-NEXT: Running analysis: CallGraphAnalysis
|
||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis
|
||||
; CHECK-O-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}LazyCallGraph{{.*}}>
|
||||
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O-NEXT: Running analysis: LazyCallGraphAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: FunctionAnalysisManagerCGSCCProxy
|
||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy<{{.*}}LazyCallGraph::SCC{{.*}}>
|
||||
; CHECK-O-NEXT: Running pass: DevirtSCCRepeatedPass
|
||||
; CHECK-O-NEXT: Starting CGSCC pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: InlinerPass
|
||||
; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass
|
||||
; CHECK-O3-NEXT: Running pass: ArgumentPromotionPass
|
||||
; CHECK-O2-NEXT: Running pass: OpenMPOptPass
|
||||
; CHECK-O3-NEXT: Running pass: OpenMPOptPass
|
||||
; CHECK-O-NEXT: Running pass: CGSCCToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-O-NEXT: Starting {{.*}}Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: SROA
|
||||
; CHECK-O-NEXT: Running pass: EarlyCSEPass
|
||||
|
@ -105,7 +96,6 @@
|
|||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running pass: ReassociatePass
|
||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}OptimizationRemarkEmitterAnalysis
|
||||
; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopStandardAnalysisResults{{.*}}>
|
||||
; CHECK-O-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-O-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-O-NEXT: Running pass: LCSSAPass
|
||||
|
@ -113,7 +103,6 @@
|
|||
; CHECK-O-NEXT: Running analysis: ScalarEvolutionAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O-NEXT: Starting Loop pass manager run.
|
||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Running pass: LoopInstSimplifyPass
|
||||
; CHECK-O-NEXT: Running pass: LoopSimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running pass: LoopRotatePass
|
||||
|
@ -122,7 +111,6 @@
|
|||
; CHECK-O-NEXT: Finished Loop pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running pass: InstCombinePass
|
||||
; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopStandardAnalysisResults{{.*}}>
|
||||
; CHECK-O-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-O-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-O-NEXT: Running pass: LCSSAPass
|
||||
|
@ -160,11 +148,11 @@
|
|||
; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass
|
||||
; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass
|
||||
; CHECK-O23SZ-NEXT: Running pass: DSEPass
|
||||
; CHECK-O23SZ-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LICMPass{{.*}}>
|
||||
; CHECK-O23SZ-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-O23SZ-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-O23SZ-NEXT: Running pass: LCSSAPass
|
||||
; CHECK-O23SZ-NEXT: Finished {{.*}}Function pass manager run
|
||||
; CHECK-O23SZ-NEXT: Running pass: LICMPass
|
||||
; CHECK-O-NEXT: Running pass: ADCEPass
|
||||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running pass: InstCombinePass
|
||||
|
@ -172,23 +160,21 @@
|
|||
; CHECK-O-NEXT: Finished CGSCC pass manager run.
|
||||
; CHECK-O-NEXT: Finished {{.*}}Module pass manager run.
|
||||
; CHECK-O-NEXT: Finished {{.*}}Module pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
||||
; CHECK-O-NEXT: Starting {{.*}}Module pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: GlobalOptPass
|
||||
; CHECK-O-NEXT: Running pass: GlobalDCEPass
|
||||
; CHECK-O-NEXT: Running pass: EliminateAvailableExternallyPass
|
||||
; CHECK-O-NEXT: Running pass: ReversePostOrderFunctionAttrsPass
|
||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA
|
||||
; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-O-NEXT: Starting {{.*}}Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: Float2IntPass
|
||||
; CHECK-O-NEXT: Running pass: LowerConstantIntrinsicsPass
|
||||
; CHECK-EXT: Running pass: {{.*}}::Bye
|
||||
; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopRotatePass
|
||||
; CHECK-O-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-O-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-O-NEXT: Running pass: LCSSAPass
|
||||
; CHECK-O-NEXT: Finished {{.*}}Function pass manager run
|
||||
; CHECK-O-NEXT: Starting {{.*}}Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: LoopSimplifyPass on foo
|
||||
; CHECK-O-NEXT: Running pass: LCSSAPass on foo
|
||||
; CHECK-O-NEXT: Finished {{.*}}Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: LoopRotatePass
|
||||
; CHECK-O-NEXT: Running pass: LoopDistributePass
|
||||
; CHECK-O-NEXT: Running pass: InjectTLIMappings
|
||||
; CHECK-O-NEXT: Running pass: LoopVectorizePass
|
||||
|
@ -205,11 +191,11 @@
|
|||
; CHECK-O-NEXT: Running pass: WarnMissedTransformationsPass
|
||||
; CHECK-O-NEXT: Running pass: InstCombinePass
|
||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}OptimizationRemarkEmitterAnalysis
|
||||
; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LICMPass
|
||||
; CHECK-O-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-O-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-O-NEXT: Running pass: LCSSAPass
|
||||
; CHECK-O-NEXT: Finished {{.*}}Function pass manager run
|
||||
; CHECK-O-NEXT: Running pass: LICMPass
|
||||
; CHECK-O-NEXT: Running pass: AlignmentFromAssumptionsPass
|
||||
; CHECK-O-NEXT: Running pass: LoopSinkPass
|
||||
; CHECK-O-NEXT: Running pass: InstSimplifyPass
|
||||
|
|
|
@ -25,20 +25,14 @@
|
|||
; RUN: -passes='thinlto<O2>' -S %s 2>&1 \
|
||||
; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23SZ,%llvmcheckext --dump-input=fail
|
||||
;
|
||||
; CHECK-O: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Starting {{.*}}Module pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
||||
; CHECK-O: Starting {{.*}}Module pass manager run.
|
||||
; CHECK-O-NEXT: Starting {{.*}}Module pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: ForceFunctionAttrsPass
|
||||
; CHECK-EP-PIPELINE-START-NEXT: Running pass: NoOpModulePass
|
||||
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
||||
; CHECK-O-NEXT: Starting {{.*}}Module pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: InferFunctionAttrsPass
|
||||
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O-NEXT: Running analysis: TargetLibraryAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Starting {{.*}}Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running analysis: TargetIRAnalysis
|
||||
|
@ -63,9 +57,8 @@
|
|||
; CHECK-O-NEXT: Running pass: IPSCCPPass
|
||||
; CHECK-O-NEXT: Running pass: CalledValuePropagationPass
|
||||
; CHECK-O-NEXT: Running pass: GlobalOptPass
|
||||
; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PromotePass>
|
||||
; CHECK-O-NEXT: Running pass: PromotePass
|
||||
; CHECK-O-NEXT: Running pass: DeadArgumentEliminationPass
|
||||
; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-O-NEXT: Starting {{.*}}Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: InstCombinePass
|
||||
; CHECK-O-NEXT: Running analysis: BlockFrequencyAnalysis on foo
|
||||
|
@ -82,19 +75,17 @@
|
|||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA
|
||||
; CHECK-O-NEXT: Running analysis: GlobalsAA
|
||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis
|
||||
; CHECK-O-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}LazyCallGraph{{.*}}>
|
||||
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O-NEXT: Running analysis: LazyCallGraphAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: FunctionAnalysisManagerCGSCCProxy
|
||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy<{{.*}}LazyCallGraph::SCC{{.*}}>
|
||||
; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy
|
||||
; CHECK-O-NEXT: Running pass: DevirtSCCRepeatedPass
|
||||
; CHECK-O-NEXT: Starting CGSCC pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: InlinerPass
|
||||
; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass
|
||||
; CHECK-O3-NEXT: Running pass: ArgumentPromotionPass
|
||||
; CHECK-O2-NEXT: Running pass: OpenMPOptPass
|
||||
; CHECK-O3-NEXT: Running pass: OpenMPOptPass
|
||||
; CHECK-O-NEXT: Running pass: CGSCCToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-O-NEXT: Starting {{.*}}Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: SROA
|
||||
; CHECK-O-NEXT: Running pass: EarlyCSEPass
|
||||
|
@ -113,7 +104,6 @@
|
|||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running pass: ReassociatePass
|
||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}OptimizationRemarkEmitterAnalysis
|
||||
; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopStandardAnalysisResults{{.*}}>
|
||||
; CHECK-O-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-O-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-O-NEXT: Running pass: LCSSAPass
|
||||
|
@ -121,7 +111,6 @@
|
|||
; CHECK-O-NEXT: Running analysis: ScalarEvolutionAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O-NEXT: Starting Loop pass manager run.
|
||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Running pass: LoopInstSimplifyPass
|
||||
; CHECK-O-NEXT: Running pass: LoopSimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running pass: LoopRotatePass
|
||||
|
@ -130,7 +119,6 @@
|
|||
; CHECK-O-NEXT: Finished Loop pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running pass: InstCombinePass
|
||||
; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopStandardAnalysisResults{{.*}}>
|
||||
; CHECK-O-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-O-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-O-NEXT: Running pass: LCSSAPass
|
||||
|
@ -168,11 +156,11 @@
|
|||
; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass
|
||||
; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass
|
||||
; CHECK-O23SZ-NEXT: Running pass: DSEPass
|
||||
; CHECK-O23SZ-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LICMPass{{.*}}>
|
||||
; CHECK-O23SZ-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-O23SZ-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-O23SZ-NEXT: Running pass: LCSSAPass
|
||||
; CHECK-O23SZ-NEXT: Finished {{.*}}Function pass manager run
|
||||
; CHECK-O23SZ-NEXT: Running pass: LICMPass
|
||||
; CHECK-O-NEXT: Running pass: ADCEPass
|
||||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running pass: InstCombinePass
|
||||
|
@ -183,23 +171,21 @@
|
|||
; CHECK-O-NEXT: Finished CGSCC pass manager run.
|
||||
; CHECK-O-NEXT: Finished {{.*}}Module pass manager run.
|
||||
; CHECK-O-NEXT: Finished {{.*}}Module pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
||||
; CHECK-O-NEXT: Starting {{.*}}Module pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: GlobalOptPass
|
||||
; CHECK-O-NEXT: Running pass: GlobalDCEPass
|
||||
; CHECK-O-NEXT: Running pass: EliminateAvailableExternallyPass
|
||||
; CHECK-O-NEXT: Running pass: ReversePostOrderFunctionAttrsPass
|
||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA
|
||||
; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-O-NEXT: Starting {{.*}}Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: Float2IntPass
|
||||
; CHECK-O-NEXT: Running pass: LowerConstantIntrinsicsPass
|
||||
; CHECK-EXT: Running pass: {{.*}}::Bye
|
||||
; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopRotatePass
|
||||
; CHECK-O-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-O-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-O-NEXT: Running pass: LCSSAPass
|
||||
; CHECK-O-NEXT: Finished {{.*}}Function pass manager run
|
||||
; CHECK-O-NEXT: Running pass: LoopRotatePass
|
||||
; CHECK-O-NEXT: Running pass: LoopDistributePass
|
||||
; CHECK-O-NEXT: Running pass: InjectTLIMappings
|
||||
; CHECK-O-NEXT: Running pass: LoopVectorizePass
|
||||
|
@ -216,11 +202,11 @@
|
|||
; CHECK-O-NEXT: Running pass: WarnMissedTransformationsPass
|
||||
; CHECK-O-NEXT: Running pass: InstCombinePass
|
||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}OptimizationRemarkEmitterAnalysis
|
||||
; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LICMPass
|
||||
; CHECK-O-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-O-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-O-NEXT: Running pass: LCSSAPass
|
||||
; CHECK-O-NEXT: Finished {{.*}}Function pass manager run
|
||||
; CHECK-O-NEXT: Running pass: LICMPass
|
||||
; CHECK-O-NEXT: Running pass: AlignmentFromAssumptionsPass
|
||||
; CHECK-O-NEXT: Running pass: LoopSinkPass
|
||||
; CHECK-O-NEXT: Running pass: InstSimplifyPass
|
||||
|
|
|
@ -27,20 +27,14 @@
|
|||
; RUN: -passes='thinlto-pre-link<O2>,name-anon-globals' -S %s 2>&1 \
|
||||
; RUN: | FileCheck %s --check-prefixes=CHECK-DIS,CHECK-O,CHECK-O2,CHECK-O23SZ,CHECK-O123 --dump-input=fail
|
||||
;
|
||||
; CHECK-O: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Starting {{.*}}Module pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
||||
; CHECK-O: Starting {{.*}}Module pass manager run.
|
||||
; CHECK-O-NEXT: Starting {{.*}}Module pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: ForceFunctionAttrsPass
|
||||
; CHECK-EP-PIPELINE-START-NEXT: Running pass: NoOpModulePass
|
||||
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
||||
; CHECK-O-NEXT: Starting {{.*}}Module pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: InferFunctionAttrsPass
|
||||
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O-NEXT: Running analysis: TargetLibraryAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Starting {{.*}}Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running analysis: TargetIRAnalysis
|
||||
|
@ -55,9 +49,8 @@
|
|||
; CHECK-O-NEXT: Running pass: IPSCCPPass
|
||||
; CHECK-O-NEXT: Running pass: CalledValuePropagationPass
|
||||
; CHECK-O-NEXT: Running pass: GlobalOptPass
|
||||
; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PromotePass>
|
||||
; CHECK-O-NEXT: Running pass: PromotePass
|
||||
; CHECK-O-NEXT: Running pass: DeadArgumentEliminationPass
|
||||
; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-O-NEXT: Starting {{.*}}Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: InstCombinePass
|
||||
; CHECK-O-NEXT: Running analysis: OptimizationRemarkEmitterAnalysis
|
||||
|
@ -68,15 +61,16 @@
|
|||
; CHECK-O123-NEXT: Running pass: ModuleInlinerWrapperPass
|
||||
; CHECK-O123-NEXT: Running analysis: InlineAdvisorAnalysis
|
||||
; CHECK-O123-NEXT: Starting {{.*}}Module pass manager run.
|
||||
; CHECK-O123-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}PassManager<{{.*}}LazyCallGraph::SCC
|
||||
; CHECK-O123-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O123-NEXT: Running analysis: LazyCallGraphAnalysis
|
||||
; CHECK-O123-NEXT: Running analysis: FunctionAnalysisManagerCGSCCProxy on (foo)
|
||||
; CHECK-O123-NEXT: Running analysis: PassInstrumentationAnalysis on (foo)
|
||||
; CHECK-O123-NEXT: Running analysis: OuterAnalysisManagerProxy
|
||||
; CHECK-O123-NEXT: Starting CGSCC pass manager run.
|
||||
; CHECK-O123-NEXT: Running pass: InlinerPass on (foo)
|
||||
; CHECK-O123-NEXT: Running pass: CGSCCToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-O123-NEXT: Running pass: SROA on foo
|
||||
; CHECK-O123-NEXT: Running pass: EarlyCSEPass on foo
|
||||
; CHECK-O123-NEXT: Running pass: SimplifyCFGPass on foo
|
||||
; CHECK-O123-NEXT: Running pass: InstCombinePass on foo
|
||||
; CHECK-O123-NEXT: Finished CGSCC pass manager run.
|
||||
; CHECK-O123-NEXT: Finished {{.*}}Module pass manager run.
|
||||
; CHECK-O123-NEXT: Running pass: GlobalDCEPass
|
||||
|
@ -96,7 +90,6 @@
|
|||
; CHECK-O-NEXT: Running pass: PGOIndirectCallPromotion on
|
||||
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O-NEXT: Running analysis: OptimizationRemarkEmitterAnalysis on foo
|
||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis on foo
|
||||
; CHECK-O-NEXT: Running pass: ModuleInlinerWrapperPass
|
||||
; CHECK-Os-NEXT: Running analysis: InlineAdvisorAnalysis
|
||||
; CHECK-Oz-NEXT: Running analysis: InlineAdvisorAnalysis
|
||||
|
@ -105,13 +98,12 @@
|
|||
; CHECK-O-NEXT: Running analysis: GlobalsAA
|
||||
; CHECK-O-NEXT: Running analysis: CallGraphAnalysis
|
||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis
|
||||
; CHECK-O-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}LazyCallGraph{{.*}}>
|
||||
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O-NEXT: Running analysis: LazyCallGraphAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: TargetLibraryAnalysis on foo
|
||||
; CHECK-O-NEXT: Running analysis: FunctionAnalysisManagerCGSCCProxy
|
||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy<{{.*}}LazyCallGraph::SCC{{.*}}>
|
||||
; CHECK-O-NEXT: Running pass: DevirtSCCRepeatedPass
|
||||
; CHECK-O-NEXT: Starting CGSCC pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: InlinerPass
|
||||
; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass
|
||||
|
@ -120,7 +112,6 @@
|
|||
; CHECK-O3-NEXT: Running analysis: TargetIRAnalysis
|
||||
; CHECK-O2-NEXT: Running pass: OpenMPOptPass
|
||||
; CHECK-O3-NEXT: Running pass: OpenMPOptPass
|
||||
; CHECK-O-NEXT: Running pass: CGSCCToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-O-NEXT: Starting {{.*}}Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: SROA
|
||||
; These next two can appear in any order since they are accessed as parameters
|
||||
|
@ -156,7 +147,6 @@
|
|||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running pass: ReassociatePass
|
||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}OptimizationRemarkEmitterAnalysis
|
||||
; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopStandardAnalysisResults{{.*}}>
|
||||
; CHECK-O-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-O-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-O-NEXT: Running pass: LCSSAPass
|
||||
|
@ -164,7 +154,6 @@
|
|||
; CHECK-O-NEXT: Running analysis: ScalarEvolutionAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O-NEXT: Starting Loop pass manager run.
|
||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Running pass: LoopInstSimplifyPass
|
||||
; CHECK-O-NEXT: Running pass: LoopSimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running pass: LoopRotatePass
|
||||
|
@ -173,7 +162,6 @@
|
|||
; CHECK-O-NEXT: Finished Loop pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running pass: InstCombinePass
|
||||
; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopStandardAnalysisResults{{.*}}>
|
||||
; CHECK-O-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-O-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-O-NEXT: Running pass: LCSSAPass
|
||||
|
@ -211,11 +199,11 @@
|
|||
; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass
|
||||
; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass
|
||||
; CHECK-O23SZ-NEXT: Running pass: DSEPass
|
||||
; CHECK-O23SZ-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LICMPass{{.*}}>
|
||||
; CHECK-O23SZ-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-O23SZ-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-O23SZ-NEXT: Running pass: LCSSAPass
|
||||
; CHECK-O23SZ-NEXT: Finished {{.*}}Function pass manager run
|
||||
; CHECK-O23SZ-NEXT: Running pass: LICMPass
|
||||
; CHECK-O-NEXT: Running pass: ADCEPass
|
||||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running pass: InstCombinePass
|
||||
|
@ -228,7 +216,6 @@
|
|||
; CHECK-O-NEXT: Finished {{.*}}Module pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: GlobalOptPass
|
||||
; CHECK-O-NEXT: Running analysis: TargetLibraryAnalysis on bar
|
||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis on bar
|
||||
; CHECK-EXT: Running pass: {{.*}}::Bye
|
||||
; CHECK-O-NEXT: Finished {{.*}}Module pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: NameAnonGlobalPass
|
||||
|
|
|
@ -25,21 +25,15 @@
|
|||
; RUN: -passes='thinlto-pre-link<O2>,name-anon-globals' -S %s 2>&1 \
|
||||
; RUN: | FileCheck %s --check-prefixes=CHECK-DIS,CHECK-O,CHECK-O2,CHECK-O23SZ,CHECK-O123 --dump-input=fail
|
||||
;
|
||||
; CHECK-O: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Starting {{.*}}Module pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
||||
; CHECK-O: Starting {{.*}}Module pass manager run.
|
||||
; CHECK-O-NEXT: Starting {{.*}}Module pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: ForceFunctionAttrsPass
|
||||
; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}AddDiscriminatorsPass>
|
||||
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O-NEXT: Running pass: AddDiscriminatorsPass
|
||||
; CHECK-EP-PIPELINE-START-NEXT: Running pass: NoOpModulePass
|
||||
; CHECK-O-NEXT: Running pass: PassManager<{{.*}}Module{{.*}}>
|
||||
; CHECK-O-NEXT: Starting {{.*}}Module pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: InferFunctionAttrsPass
|
||||
; CHECK-O-NEXT: Running analysis: TargetLibraryAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Starting {{.*}}Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running analysis: TargetIRAnalysis
|
||||
|
@ -62,9 +56,8 @@
|
|||
; CHECK-O-NEXT: Running pass: IPSCCPPass
|
||||
; CHECK-O-NEXT: Running pass: CalledValuePropagationPass
|
||||
; CHECK-O-NEXT: Running pass: GlobalOptPass
|
||||
; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PromotePass>
|
||||
; CHECK-O-NEXT: Running pass: PromotePass
|
||||
; CHECK-O-NEXT: Running pass: DeadArgumentEliminationPass
|
||||
; CHECK-O-NEXT: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-O-NEXT: Starting {{.*}}Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: InstCombinePass
|
||||
; CHECK-O-NEXT: Running analysis: BlockFrequencyAnalysis on foo
|
||||
|
@ -81,19 +74,17 @@
|
|||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA
|
||||
; CHECK-O-NEXT: Running analysis: GlobalsAA
|
||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis
|
||||
; CHECK-O-NEXT: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}LazyCallGraph{{.*}}>
|
||||
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O-NEXT: Running analysis: LazyCallGraphAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: FunctionAnalysisManagerCGSCCProxy
|
||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy<{{.*}}LazyCallGraph::SCC{{.*}}>
|
||||
; CHECK-O-NEXT: Running pass: DevirtSCCRepeatedPass
|
||||
; CHECK-O-NEXT: Starting CGSCC pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: InlinerPass
|
||||
; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass
|
||||
; CHECK-O3-NEXT: Running pass: ArgumentPromotionPass
|
||||
; CHECK-O2-NEXT: Running pass: OpenMPOptPass
|
||||
; CHECK-O3-NEXT: Running pass: OpenMPOptPass
|
||||
; CHECK-O-NEXT: Running pass: CGSCCToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-O-NEXT: Starting {{.*}}Function pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: SROA
|
||||
; CHECK-O-NEXT: Running pass: EarlyCSEPass
|
||||
|
@ -112,7 +103,6 @@
|
|||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running pass: ReassociatePass
|
||||
; CHECK-O-NEXT: Running pass: RequireAnalysisPass<{{.*}}OptimizationRemarkEmitterAnalysis
|
||||
; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopStandardAnalysisResults{{.*}}>
|
||||
; CHECK-O-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-O-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-O-NEXT: Running pass: LCSSAPass
|
||||
|
@ -120,7 +110,6 @@
|
|||
; CHECK-O-NEXT: Running analysis: ScalarEvolutionAnalysis
|
||||
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy
|
||||
; CHECK-O-NEXT: Starting Loop pass manager run.
|
||||
; CHECK-O-NEXT: Running analysis: PassInstrumentationAnalysis
|
||||
; CHECK-O-NEXT: Running pass: LoopInstSimplifyPass
|
||||
; CHECK-O-NEXT: Running pass: LoopSimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running pass: LoopRotatePass
|
||||
|
@ -129,7 +118,6 @@
|
|||
; CHECK-O-NEXT: Finished Loop pass manager run.
|
||||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running pass: InstCombinePass
|
||||
; CHECK-O-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LoopStandardAnalysisResults{{.*}}>
|
||||
; CHECK-O-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-O-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-O-NEXT: Running pass: LCSSAPass
|
||||
|
@ -166,11 +154,11 @@
|
|||
; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass
|
||||
; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass
|
||||
; CHECK-O23SZ-NEXT: Running pass: DSEPass
|
||||
; CHECK-O23SZ-NEXT: Running pass: FunctionToLoopPassAdaptor<{{.*}}LICMPass{{.*}}>
|
||||
; CHECK-O23SZ-NEXT: Starting {{.*}}Function pass manager run
|
||||
; CHECK-O23SZ-NEXT: Running pass: LoopSimplifyPass
|
||||
; CHECK-O23SZ-NEXT: Running pass: LCSSAPass
|
||||
; CHECK-O23SZ-NEXT: Finished {{.*}}Function pass manager run
|
||||
; CHECK-O23SZ-NEXT: Running pass: LICMPass
|
||||
; CHECK-O-NEXT: Running pass: ADCEPass
|
||||
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
|
||||
; CHECK-O-NEXT: Running pass: InstCombinePass
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
; RUN: -passes=no-op-function,no-op-function %s 2>&1 \
|
||||
; RUN: | FileCheck %s --check-prefix=CHECK-TWO-NOOP-FP
|
||||
; CHECK-TWO-NOOP-FP: Starting llvm::Module pass manager run
|
||||
; CHECK-TWO-NOOP-FP: Running pass: ModuleToFunctionPassAdaptor
|
||||
; CHECK-TWO-NOOP-FP: Starting llvm::Function pass manager run
|
||||
; CHECK-TWO-NOOP-FP: Running pass: NoOpFunctionPass
|
||||
; CHECK-TWO-NOOP-FP: Running pass: NoOpFunctionPass
|
||||
|
@ -31,7 +30,6 @@
|
|||
; RUN: -passes='function(no-op-function,no-op-function)' %s 2>&1 \
|
||||
; RUN: | FileCheck %s --check-prefix=CHECK-NESTED-TWO-NOOP-FP
|
||||
; CHECK-NESTED-TWO-NOOP-FP: Starting llvm::Module pass manager run
|
||||
; CHECK-NESTED-TWO-NOOP-FP: Running pass: ModuleToFunctionPassAdaptor
|
||||
; CHECK-NESTED-TWO-NOOP-FP: Starting llvm::Function pass manager run
|
||||
; CHECK-NESTED-TWO-NOOP-FP: Running pass: NoOpFunctionPass
|
||||
; CHECK-NESTED-TWO-NOOP-FP: Running pass: NoOpFunctionPass
|
||||
|
@ -43,7 +41,6 @@
|
|||
; RUN: | FileCheck %s --check-prefix=CHECK-MIXED-FP-AND-MP
|
||||
; CHECK-MIXED-FP-AND-MP: Starting llvm::Module pass manager run
|
||||
; CHECK-MIXED-FP-AND-MP: Running pass: NoOpModulePass
|
||||
; CHECK-MIXED-FP-AND-MP: Running pass: ModuleToFunctionPassAdaptor
|
||||
; CHECK-MIXED-FP-AND-MP: Starting llvm::Function pass manager run
|
||||
; CHECK-MIXED-FP-AND-MP: Running pass: NoOpFunctionPass
|
||||
; CHECK-MIXED-FP-AND-MP: Running pass: NoOpFunctionPass
|
||||
|
@ -105,7 +102,6 @@
|
|||
; RUN: -passes=no-op-cgscc,no-op-cgscc %s 2>&1 \
|
||||
; RUN: | FileCheck %s --check-prefix=CHECK-TWO-NOOP-CG
|
||||
; CHECK-TWO-NOOP-CG: Starting llvm::Module pass manager run
|
||||
; CHECK-TWO-NOOP-CG: Running pass: ModuleToPostOrderCGSCCPassAdaptor
|
||||
; CHECK-TWO-NOOP-CG: Starting CGSCC pass manager run
|
||||
; CHECK-TWO-NOOP-CG: Running pass: NoOpCGSCCPass
|
||||
; CHECK-TWO-NOOP-CG: Running pass: NoOpCGSCCPass
|
||||
|
@ -117,20 +113,16 @@
|
|||
; RUN: | FileCheck %s --check-prefix=CHECK-NESTED-MP-CG-FP
|
||||
; CHECK-NESTED-MP-CG-FP: Starting llvm::Module pass manager run
|
||||
; CHECK-NESTED-MP-CG-FP: Starting llvm::Module pass manager run
|
||||
; CHECK-NESTED-MP-CG-FP: Running pass: ModuleToFunctionPassAdaptor
|
||||
; CHECK-NESTED-MP-CG-FP: Starting llvm::Function pass manager run
|
||||
; CHECK-NESTED-MP-CG-FP: Running pass: NoOpFunctionPass
|
||||
; CHECK-NESTED-MP-CG-FP: Finished llvm::Function pass manager run
|
||||
; CHECK-NESTED-MP-CG-FP: Running pass: ModuleToPostOrderCGSCCPassAdaptor
|
||||
; CHECK-NESTED-MP-CG-FP: Starting CGSCC pass manager run
|
||||
; CHECK-NESTED-MP-CG-FP: Running pass: NoOpCGSCCPass
|
||||
; CHECK-NESTED-MP-CG-FP: Running pass: CGSCCToFunctionPassAdaptor
|
||||
; CHECK-NESTED-MP-CG-FP: Starting llvm::Function pass manager run
|
||||
; CHECK-NESTED-MP-CG-FP: Running pass: NoOpFunctionPass
|
||||
; CHECK-NESTED-MP-CG-FP: Finished llvm::Function pass manager run
|
||||
; CHECK-NESTED-MP-CG-FP: Running pass: NoOpCGSCCPass
|
||||
; CHECK-NESTED-MP-CG-FP: Finished CGSCC pass manager run
|
||||
; CHECK-NESTED-MP-CG-FP: Running pass: ModuleToFunctionPassAdaptor
|
||||
; CHECK-NESTED-MP-CG-FP: Starting llvm::Function pass manager run
|
||||
; CHECK-NESTED-MP-CG-FP: Running pass: NoOpFunctionPass
|
||||
; CHECK-NESTED-MP-CG-FP: Finished llvm::Function pass manager run
|
||||
|
@ -141,9 +133,7 @@
|
|||
; RUN: -passes='no-op-loop,no-op-loop' %s 2>&1 \
|
||||
; RUN: | FileCheck %s --check-prefix=CHECK-TWO-NOOP-LOOP
|
||||
; CHECK-TWO-NOOP-LOOP: Starting llvm::Module pass manager run
|
||||
; CHECK-TWO-NOOP-LOOP: Running pass: ModuleToFunctionPassAdaptor
|
||||
; CHECK-TWO-NOOP-LOOP: Starting llvm::Function pass manager run
|
||||
; CHECK-TWO-NOOP-LOOP: Running pass: FunctionToLoopPassAdaptor
|
||||
; CHECK-TWO-NOOP-LOOP: Starting Loop pass manager run
|
||||
; CHECK-TWO-NOOP-LOOP: Running pass: NoOpLoopPass
|
||||
; CHECK-TWO-NOOP-LOOP: Running pass: NoOpLoopPass
|
||||
|
@ -164,31 +154,37 @@
|
|||
; RUN: -passes='no-op-loop' %s 2>&1 \
|
||||
; RUN: | FileCheck %s --check-prefix=CHECK-NESTED-FP-LP
|
||||
; CHECK-NESTED-FP-LP: Starting llvm::Module pass manager run
|
||||
; CHECK-NESTED-FP-LP: Running pass: ModuleToFunctionPassAdaptor
|
||||
; CHECK-NESTED-FP-LP: Starting llvm::Function pass manager run
|
||||
; CHECK-NESTED-FP-LP: Running pass: FunctionToLoopPassAdaptor
|
||||
; CHECK-NESTED-FP-LP: Starting Loop pass manager run
|
||||
; CHECK-NESTED-FP-LP: Running pass: NoOpLoopPass
|
||||
; CHECK-NESTED-FP-LP: Finished Loop pass manager run
|
||||
; CHECK-NESTED-FP-LP: Finished llvm::Function pass manager run
|
||||
; CHECK-NESTED-FP-LP: Finished llvm::Module pass manager run
|
||||
|
||||
; RUN: opt -disable-output -debug-pass-manager \
|
||||
; RUN: opt -disable-output -debug-pass-manager -debug-pass-manager-verbose \
|
||||
; RUN: -passes='module(no-op-function,no-op-loop,no-op-cgscc,cgscc(no-op-function,no-op-loop),function(no-op-loop))' %s 2>&1 \
|
||||
; RUN: | FileCheck %s --check-prefix=CHECK-ADAPTORS
|
||||
; CHECK-ADAPTORS: Starting llvm::Module pass manager run
|
||||
; CHECK-ADAPTORS: Starting llvm::Module pass manager run
|
||||
; CHECK-ADAPTORS: Running pass: ModuleToFunctionPassAdaptor<{{.*}}NoOpFunctionPass>
|
||||
; CHECK-ADAPTORS: Running pass: NoOpFunctionPass
|
||||
; CHECK-ADAPTORS: Running pass: ModuleToFunctionPassAdaptor<{{.*}}FunctionToLoopPassAdaptor<{{.*}}NoOpLoopPass>{{.*}}>
|
||||
; CHECK-ADAPTORS: Running pass: FunctionToLoopPassAdaptor<{{.*}}NoOpLoopPass>
|
||||
; CHECK-ADAPTORS: Running pass: NoOpLoopPass on Loop at depth 1 containing: %loop
|
||||
; CHECK-ADAPTORS: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}NoOpCGSCCPass>
|
||||
; CHECK-ADAPTORS: Running pass: NoOpCGSCCPass
|
||||
; CHECK-ADAPTORS: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}LazyCallGraph{{.*}}>
|
||||
; CHECK-ADAPTORS: Starting CGSCC pass manager run
|
||||
; CHECK-ADAPTORS: Running pass: CGSCCToFunctionPassAdaptor<{{.*}}NoOpFunctionPass>
|
||||
; CHECK-ADAPTORS: Running pass: NoOpFunctionPass
|
||||
; CHECK-ADAPTORS: Running pass: CGSCCToFunctionPassAdaptor<{{.*}}FunctionToLoopPassAdaptor<{{.*}}NoOpLoopPass>{{.*}}>
|
||||
; CHECK-ADAPTORS: Running pass: FunctionToLoopPassAdaptor<{{.*}}NoOpLoopPass>
|
||||
; CHECK-ADAPTORS: Running pass: NoOpLoopPass on Loop at depth 1 containing: %loop
|
||||
; CHECK-ADAPTORS: Finished CGSCC pass manager run
|
||||
; CHECK-ADAPTORS: Running pass: ModuleToFunctionPassAdaptor<{{.*}}PassManager{{.*}}>
|
||||
; CHECK-ADAPTORS: Starting llvm::Function pass manager run
|
||||
; CHECK-ADAPTORS: Running pass: FunctionToLoopPassAdaptor<{{.*}}NoOpLoopPass>
|
||||
; CHECK-ADAPTORS: Running pass: NoOpLoopPass on Loop at depth 1 containing: %loop
|
||||
; CHECK-ADAPTORS: Finished llvm::Function pass manager run
|
||||
; CHECK-ADAPTORS: Finished llvm::Module pass manager run
|
||||
; CHECK-ADAPTORS: Finished llvm::Module pass manager run
|
||||
|
@ -197,9 +193,8 @@
|
|||
; RUN: -passes='cgscc(print)' %s 2>&1 \
|
||||
; RUN: | FileCheck %s --check-prefix=CHECK-PRINT-IN-CGSCC
|
||||
; CHECK-PRINT-IN-CGSCC: Starting llvm::Module pass manager run
|
||||
; CHECK-PRINT-IN-CGSCC: Running pass: ModuleToPostOrderCGSCCPassAdaptor<{{.*}}LazyCallGraph{{.*}}>
|
||||
; CHECK-PRINT-IN-CGSCC: Starting CGSCC pass manager run
|
||||
; CHECK-PRINT-IN-CGSCC: Running pass: CGSCCToFunctionPassAdaptor<{{.*}}PrintFunctionPass>
|
||||
; CHECK-PRINT-IN-CGSCC: Running pass: PrintFunctionPass
|
||||
; CHECK-PRINT-IN-CGSCC: Finished CGSCC pass manager run
|
||||
; CHECK-PRINT-IN-CGSCC: Running pass: VerifierPass
|
||||
; CHECK-PRINT-IN-CGSCC: Finished llvm::Module pass manager run
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
; CHECK: Starting llvm::Function pass manager run.
|
||||
; CHECK-NEXT: Running pass: ADCEPass on f
|
||||
; CHECK-NEXT: Running analysis: PostDominatorTreeAnalysis on f
|
||||
; CHECK-NEXT: Running pass: FunctionToLoopPassAdaptor{{.*}} on f
|
||||
; CHECK-NEXT: Starting llvm::Function pass manager run.
|
||||
; CHECK-NEXT: Running pass: LoopSimplifyPass on f
|
||||
; CHECK-NEXT: Running analysis: LoopAnalysis on f
|
||||
|
@ -22,7 +21,6 @@
|
|||
; CHECK-NEXT: Running analysis: TargetIRAnalysis on f
|
||||
; CHECK-NEXT: Running analysis: InnerAnalysisManagerProxy{{.*}} on f
|
||||
; CHECK-NEXT: Starting Loop pass manager run.
|
||||
; CHECK-NEXT: Running analysis: PassInstrumentationAnalysis on bb
|
||||
; CHECK-NEXT: Running pass: LoopRotatePass on Loop at depth 1 containing: %bb<header><exiting>,%bb4<latch>
|
||||
; CHECK-NEXT: Folding loop latch bb4 into bb
|
||||
; CHECK-NEXT: Invalidating all non-preserved analyses for: bb
|
||||
|
@ -36,7 +34,6 @@
|
|||
; MSSA: Starting llvm::Function pass manager run.
|
||||
; MSSA-NEXT: Running pass: ADCEPass on f
|
||||
; MSSA-NEXT: Running analysis: PostDominatorTreeAnalysis on f
|
||||
; MSSA-NEXT: Running pass: FunctionToLoopPassAdaptor{{.*}} on f
|
||||
; MSSA-NEXT: Starting llvm::Function pass manager run.
|
||||
; MSSA-NEXT: Running pass: LoopSimplifyPass on f
|
||||
; MSSA-NEXT: Running analysis: LoopAnalysis on f
|
||||
|
@ -51,7 +48,6 @@
|
|||
; MSSA-NEXT: Running analysis: TargetIRAnalysis on f
|
||||
; MSSA-NEXT: Running analysis: InnerAnalysisManagerProxy{{.*}} on f
|
||||
; MSSA-NEXT: Starting Loop pass manager run.
|
||||
; MSSA-NEXT: Running analysis: PassInstrumentationAnalysis on bb
|
||||
; MSSA-NEXT: Running pass: LoopRotatePass on Loop at depth 1 containing: %bb<header><exiting>,%bb4<latch>
|
||||
; MSSA-NEXT: Folding loop latch bb4 into bb
|
||||
; MSSA-NEXT: Invalidating all non-preserved analyses for: bb
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
; Basic test is fully unrolled and we revisit the post-unroll new sibling
|
||||
; loops, including the ones that used to be child loops.
|
||||
define void @full_unroll(i1* %ptr) {
|
||||
; CHECK-LABEL: FunctionToLoopPassAdaptor{{.*}} on full_unroll
|
||||
; CHECK-LABEL: OptimizationRemarkEmitterAnalysis on full_unroll
|
||||
; CHECK-NOT: LoopFullUnrollPass
|
||||
|
||||
entry:
|
||||
|
@ -81,7 +81,7 @@ exit:
|
|||
; duplicating child loops without changing their structure and so they aren't by
|
||||
; default visited, but will be visited with a special parameter.
|
||||
define void @partial_unroll(i32 %count, i1* %ptr) {
|
||||
; CHECK-LABEL: FunctionToLoopPassAdaptor{{.*}} on partial_unroll
|
||||
; CHECK-LABEL: OptimizationRemarkEmitterAnalysis on partial_unroll
|
||||
; CHECK-NOT: LoopFullUnrollPass
|
||||
|
||||
entry:
|
||||
|
|
|
@ -6,20 +6,19 @@
|
|||
; RUN: opt -S -passes='loop(require<access-info>),loop-unroll,loop(print-access-info)' -debug-pass-manager < %s 2>&1 | FileCheck %s
|
||||
;
|
||||
; CHECK: Starting llvm::Function pass manager run.
|
||||
; CHECK: Running pass: FunctionToLoopPassAdaptor
|
||||
; CHECK: Running analysis: LoopAnalysis
|
||||
; CHECK: Running analysis: InnerAnalysisManagerProxy<
|
||||
; CHECK: Starting Loop pass manager run.
|
||||
; CHECK: Running pass: RequireAnalysisPass<{{.*}}LoopAccessAnalysis
|
||||
; CHECK: Running analysis: LoopAccessAnalysis on inner1.header
|
||||
; CHECK: Running analysis: LoopAccessAnalysis on Loop at depth 2 containing: %inner1.header
|
||||
; CHECK: Finished Loop pass manager run.
|
||||
; CHECK: Starting Loop pass manager run.
|
||||
; CHECK: Running pass: RequireAnalysisPass<{{.*}}LoopAccessAnalysis
|
||||
; CHECK: Running analysis: LoopAccessAnalysis on inner2.header
|
||||
; CHECK: Running analysis: LoopAccessAnalysis on Loop at depth 2 containing: %inner2.header
|
||||
; CHECK: Finished Loop pass manager run.
|
||||
; CHECK: Starting Loop pass manager run.
|
||||
; CHECK: Running pass: RequireAnalysisPass<{{.*}}LoopAccessAnalysis
|
||||
; CHECK: Running analysis: LoopAccessAnalysis on outer.header
|
||||
; CHECK: Running analysis: LoopAccessAnalysis on Loop at depth 1 containing: %outer.header
|
||||
; CHECK: Finished Loop pass manager run.
|
||||
; CHECK: Running pass: LoopUnrollPass
|
||||
; CHECK: Clearing all analysis results for: inner2.header
|
||||
|
@ -29,16 +28,15 @@
|
|||
; CHECK: Invalidating analysis: LoopAccessAnalysis on inner1.header
|
||||
; CHECK: Invalidating all non-preserved analyses for: inner1.header.1
|
||||
; CHECK-NOT: Invalidating analysis: LoopAccessAnalysis on inner1.header.1
|
||||
; CHECK: Running pass: FunctionToLoopPassAdaptor
|
||||
; CHECK: Starting Loop pass manager run.
|
||||
; CHECK: Running pass: LoopAccessInfoPrinterPass
|
||||
; CHECK: Running analysis: LoopAccessAnalysis on inner1.header
|
||||
; CHECK: Running analysis: LoopAccessAnalysis on Loop at depth 1 containing: %inner1.header
|
||||
; CHECK: Loop access info in function 'test':
|
||||
; CHECK: inner1.header:
|
||||
; CHECK: Finished Loop pass manager run.
|
||||
; CHECK: Starting Loop pass manager run.
|
||||
; CHECK: Running pass: LoopAccessInfoPrinterPass
|
||||
; CHECK: Running analysis: LoopAccessAnalysis on inner1.header.1
|
||||
; CHECK: Running analysis: LoopAccessAnalysis on Loop at depth 1 containing: %inner1.header.1
|
||||
; CHECK: Loop access info in function 'test':
|
||||
; CHECK: inner1.header.1:
|
||||
; CHECK: Finished Loop pass manager run.
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
; NEW-PM-NEXT: Invalidating all non-preserved analyses for:
|
||||
; NEW-PM-NEXT: Invalidating all non-preserved analyses for: f1
|
||||
; NEW-PM-NEXT: Invalidating all non-preserved analyses for: f2
|
||||
; NEW-PM-NEXT: Running pass: ModuleToFunctionPassAdaptor
|
||||
; NEW-PM-NOT: Running analysis:
|
||||
|
||||
; IR-LABEL: @f1
|
||||
|
|
Loading…
Reference in New Issue