From 0b576b377f8b3bc2166179b9d141c4237725fdf7 Mon Sep 17 00:00:00 2001 From: Chandler Carruth Date: Tue, 6 Jan 2015 02:50:06 +0000 Subject: [PM] Add a collection of no-op analysis passes and switch the new pass manager tests to use them and be significantly more comprehensive. This, naturally, uncovered a bug where the CGSCC pass manager wasn't printing analyses when they were run. The only remaining core manipulator is I think an invalidate pass similar to the require pass. That'll be next. =] llvm-svn: 225240 --- llvm/lib/Analysis/CGSCCPassManager.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'llvm/lib') diff --git a/llvm/lib/Analysis/CGSCCPassManager.cpp b/llvm/lib/Analysis/CGSCCPassManager.cpp index ad7eea8efca..9a3ebea1c40 100644 --- a/llvm/lib/Analysis/CGSCCPassManager.cpp +++ b/llvm/lib/Analysis/CGSCCPassManager.cpp @@ -62,8 +62,11 @@ CGSCCAnalysisManager::getResultImpl(void *PassID, LazyCallGraph::SCC &C) { // If we don't have a cached result for this function, look up the pass and // run it to produce a result, which we then add to the cache. if (Inserted) { + auto &P = lookupPass(PassID); + if (DebugPM) + dbgs() << "Running CGSCC analysis: " << P.name() << "\n"; CGSCCAnalysisResultListT &ResultList = CGSCCAnalysisResultLists[&C]; - ResultList.emplace_back(PassID, lookupPass(PassID).run(C, this)); + ResultList.emplace_back(PassID, P.run(C, this)); RI->second = std::prev(ResultList.end()); } -- cgit v1.2.3