diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2014-02-05 21:41:42 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2014-02-05 21:41:42 +0000 |
commit | 77b655c1c9b155441e34813223f172fa5a57891b (patch) | |
tree | 88b6c32da39fba9b5a09765aa336fd2233d00176 /unittests/IR | |
parent | f39297678b212ab5ee7885474762fc8c3f6c370f (diff) | |
download | llvm-77b655c1c9b155441e34813223f172fa5a57891b.tar.gz llvm-77b655c1c9b155441e34813223f172fa5a57891b.tar.bz2 llvm-77b655c1c9b155441e34813223f172fa5a57891b.tar.xz |
[PM] Don't require analysis results to be const in the new pass manager.
I think this was just over-eagerness on my part. The analysis results
need to often be non-const because they need to (in some cases at least)
be updated by the transformation pass in order to remain correct. It
also makes lazy analyses (a common case) needlessly annoying to write in
order to make their entire state mutable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200881 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests/IR')
-rw-r--r-- | unittests/IR/PassManagerTest.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/unittests/IR/PassManagerTest.cpp b/unittests/IR/PassManagerTest.cpp index 7b2b46a934..ee1deff8df 100644 --- a/unittests/IR/PassManagerTest.cpp +++ b/unittests/IR/PassManagerTest.cpp @@ -126,18 +126,18 @@ struct TestFunctionPass { const ModuleAnalysisManager &MAM = AM->getResult<ModuleAnalysisManagerFunctionProxy>(F).getManager(); - if (const TestModuleAnalysis::Result *TMA = + if (TestModuleAnalysis::Result *TMA = MAM.getCachedResult<TestModuleAnalysis>(F->getParent())) AnalyzedFunctionCount += TMA->FunctionCount; if (OnlyUseCachedResults) { // Hack to force the use of the cached interface. - if (const TestFunctionAnalysis::Result *AR = + if (TestFunctionAnalysis::Result *AR = AM->getCachedResult<TestFunctionAnalysis>(F)) AnalyzedInstrCount += AR->InstructionCount; } else { // Typical path just runs the analysis as needed. - const TestFunctionAnalysis::Result &AR = AM->getResult<TestFunctionAnalysis>(F); + TestFunctionAnalysis::Result &AR = AM->getResult<TestFunctionAnalysis>(F); AnalyzedInstrCount += AR.InstructionCount; } |