diff options
| author | Chandler Carruth <chandlerc@gmail.com> | 2016-03-11 11:05:24 +0000 |
|---|---|---|
| committer | Chandler Carruth <chandlerc@gmail.com> | 2016-03-11 11:05:24 +0000 |
| commit | b47f8010a95f461f995e30dc2b77391093183605 (patch) | |
| tree | 49902b63ea6fa976481a52ca24f1797e3f60ed67 /llvm/unittests/Analysis/CGSCCPassManagerTest.cpp | |
| parent | f4cc1fc7e9d7df18176fc139b30f78c24ac0cc31 (diff) | |
| download | llvm-b47f8010a95f461f995e30dc2b77391093183605.zip llvm-b47f8010a95f461f995e30dc2b77391093183605.tar.gz llvm-b47f8010a95f461f995e30dc2b77391093183605.tar.bz2 | |
[PM] Make the AnalysisManager parameter to run methods a reference.
This was originally a pointer to support pass managers which didn't use
AnalysisManagers. However, that doesn't realistically come up much and
the complexity of supporting it doesn't really make sense.
In fact, *many* parts of the pass manager were just assuming the pointer
was never null already. This at least makes it much more explicit and
clear.
llvm-svn: 263219
Diffstat (limited to 'llvm/unittests/Analysis/CGSCCPassManagerTest.cpp')
| -rw-r--r-- | llvm/unittests/Analysis/CGSCCPassManagerTest.cpp | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/llvm/unittests/Analysis/CGSCCPassManagerTest.cpp b/llvm/unittests/Analysis/CGSCCPassManagerTest.cpp index 8d219e2..857c84d 100644 --- a/llvm/unittests/Analysis/CGSCCPassManagerTest.cpp +++ b/llvm/unittests/Analysis/CGSCCPassManagerTest.cpp @@ -34,7 +34,7 @@ public: TestModuleAnalysis(int &Runs) : Runs(Runs) {} - Result run(Module &M, ModuleAnalysisManager *AM) { + Result run(Module &M, ModuleAnalysisManager &AM) { ++Runs; return Result(M.size()); } @@ -59,7 +59,7 @@ public: TestSCCAnalysis(int &Runs) : Runs(Runs) {} - Result run(LazyCallGraph::SCC &C, CGSCCAnalysisManager *AM) { + Result run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM) { ++Runs; return Result(C.size()); } @@ -84,7 +84,7 @@ public: TestFunctionAnalysis(int &Runs) : Runs(Runs) {} - Result run(Function &F, FunctionAnalysisManager *AM) { + Result run(Function &F, FunctionAnalysisManager &AM) { ++Runs; int Count = 0; for (Instruction &I : instructions(F)) { @@ -113,7 +113,7 @@ public: TestImmutableFunctionAnalysis(int &Runs) : Runs(Runs) {} - Result run(Function &F, FunctionAnalysisManager *AM) { + Result run(Function &F, FunctionAnalysisManager &AM) { ++Runs; return Result(); } @@ -129,9 +129,9 @@ char TestImmutableFunctionAnalysis::PassID; struct TestModulePass { TestModulePass(int &RunCount) : RunCount(RunCount) {} - PreservedAnalyses run(Module &M, ModuleAnalysisManager *AM) { + PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM) { ++RunCount; - (void)AM->getResult<TestModuleAnalysis>(M); + (void)AM.getResult<TestModuleAnalysis>(M); return PreservedAnalyses::all(); } @@ -150,13 +150,13 @@ struct TestSCCPass { AnalyzedModuleFunctionCount(AnalyzedModuleFunctionCount), OnlyUseCachedResults(OnlyUseCachedResults) {} - PreservedAnalyses run(LazyCallGraph::SCC &C, CGSCCAnalysisManager *AM) { + PreservedAnalyses run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM) { ++RunCount; const ModuleAnalysisManager &MAM = - AM->getResult<ModuleAnalysisManagerCGSCCProxy>(C).getManager(); + AM.getResult<ModuleAnalysisManagerCGSCCProxy>(C).getManager(); FunctionAnalysisManager &FAM = - AM->getResult<FunctionAnalysisManagerCGSCCProxy>(C).getManager(); + AM.getResult<FunctionAnalysisManagerCGSCCProxy>(C).getManager(); if (TestModuleAnalysis::Result *TMA = MAM.getCachedResult<TestModuleAnalysis>( *C.begin()->getFunction().getParent())) @@ -164,8 +164,7 @@ struct TestSCCPass { if (OnlyUseCachedResults) { // Hack to force the use of the cached interface. - if (TestSCCAnalysis::Result *AR = - AM->getCachedResult<TestSCCAnalysis>(C)) + if (TestSCCAnalysis::Result *AR = AM.getCachedResult<TestSCCAnalysis>(C)) AnalyzedSCCFunctionCount += AR->FunctionCount; for (LazyCallGraph::Node &N : C) if (TestFunctionAnalysis::Result *FAR = @@ -173,7 +172,7 @@ struct TestSCCPass { AnalyzedInstrCount += FAR->InstructionCount; } else { // Typical path just runs the analysis as needed. - TestSCCAnalysis::Result &AR = AM->getResult<TestSCCAnalysis>(C); + TestSCCAnalysis::Result &AR = AM.getResult<TestSCCAnalysis>(C); AnalyzedSCCFunctionCount += AR.FunctionCount; for (LazyCallGraph::Node &N : C) { TestFunctionAnalysis::Result &FAR = @@ -301,7 +300,7 @@ TEST_F(CGSCCPassManagerTest, Basic) { CGPM1.addPass(createCGSCCToFunctionPassAdaptor(std::move(FPM1))); MPM.addPass(createModuleToPostOrderCGSCCPassAdaptor(std::move(CGPM1))); - MPM.run(*M, &MAM); + MPM.run(*M, MAM); EXPECT_EQ(1, ModulePassRunCount1); |
