diff options
| author | Chandler Carruth <chandlerc@gmail.com> | 2015-01-06 02:50:06 +0000 |
|---|---|---|
| committer | Chandler Carruth <chandlerc@gmail.com> | 2015-01-06 02:50:06 +0000 |
| commit | 0b576b377f8b3bc2166179b9d141c4237725fdf7 (patch) | |
| tree | 115be45d58536bf1f6edb3ce36e1db4c3c469a23 /llvm/lib | |
| parent | bdbdd3fd4e79589b172ee41d4694b8b6a2d6da73 (diff) | |
| download | bcm5719-llvm-0b576b377f8b3bc2166179b9d141c4237725fdf7.tar.gz bcm5719-llvm-0b576b377f8b3bc2166179b9d141c4237725fdf7.zip | |
[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
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Analysis/CGSCCPassManager.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
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()); } |

