From eedf9fca28c050e9e15d990657c24e2292e01175 Mon Sep 17 00:00:00 2001 From: Chandler Carruth Date: Wed, 5 Feb 2014 21:41:42 +0000 Subject: [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. llvm-svn: 200881 --- llvm/lib/IR/PassManager.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'llvm/lib/IR/PassManager.cpp') diff --git a/llvm/lib/IR/PassManager.cpp b/llvm/lib/IR/PassManager.cpp index 70533fe..dbc27cb 100644 --- a/llvm/lib/IR/PassManager.cpp +++ b/llvm/lib/IR/PassManager.cpp @@ -40,7 +40,7 @@ PreservedAnalyses ModulePassManager::run(Module *M, ModuleAnalysisManager *AM) { return PA; } -const ModuleAnalysisManager::ResultConceptT & +ModuleAnalysisManager::ResultConceptT & ModuleAnalysisManager::getResultImpl(void *PassID, Module *M) { ModuleAnalysisResultMapT::iterator RI; bool Inserted; @@ -55,7 +55,7 @@ ModuleAnalysisManager::getResultImpl(void *PassID, Module *M) { return *RI->second; } -const ModuleAnalysisManager::ResultConceptT * +ModuleAnalysisManager::ResultConceptT * ModuleAnalysisManager::getCachedResultImpl(void *PassID, Module *M) const { ModuleAnalysisResultMapT::const_iterator RI = ModuleAnalysisResults.find(PassID); return RI == ModuleAnalysisResults.end() ? 0 : &*RI->second; @@ -111,7 +111,7 @@ void FunctionAnalysisManager::clear() { FunctionAnalysisResultLists.clear(); } -const FunctionAnalysisManager::ResultConceptT & +FunctionAnalysisManager::ResultConceptT & FunctionAnalysisManager::getResultImpl(void *PassID, Function *F) { FunctionAnalysisResultMapT::iterator RI; bool Inserted; @@ -129,7 +129,7 @@ FunctionAnalysisManager::getResultImpl(void *PassID, Function *F) { return *RI->second->second; } -const FunctionAnalysisManager::ResultConceptT * +FunctionAnalysisManager::ResultConceptT * FunctionAnalysisManager::getCachedResultImpl(void *PassID, Function *F) const { FunctionAnalysisResultMapT::const_iterator RI = FunctionAnalysisResults.find(std::make_pair(PassID, F)); -- cgit v1.1