diff options
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Analysis/CGSCCPassManager.cpp | 34 | ||||
-rw-r--r-- | llvm/lib/Analysis/LazyCallGraph.cpp | 5 | ||||
-rw-r--r-- | llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp | 4 | ||||
-rw-r--r-- | llvm/lib/IR/IRPrintingPasses.cpp | 12 | ||||
-rw-r--r-- | llvm/lib/IR/PassManager.cpp | 46 | ||||
-rw-r--r-- | llvm/lib/IR/Verifier.cpp | 8 |
6 files changed, 54 insertions, 55 deletions
diff --git a/llvm/lib/Analysis/CGSCCPassManager.cpp b/llvm/lib/Analysis/CGSCCPassManager.cpp index 5d1d8a9c6e0..7be0afb70b4 100644 --- a/llvm/lib/Analysis/CGSCCPassManager.cpp +++ b/llvm/lib/Analysis/CGSCCPassManager.cpp @@ -17,7 +17,7 @@ static cl::opt<bool> DebugPM("debug-cgscc-pass-manager", cl::Hidden, cl::desc("Print CGSCC pass management debugging information")); -PreservedAnalyses CGSCCPassManager::run(LazyCallGraph::SCC *C, +PreservedAnalyses CGSCCPassManager::run(LazyCallGraph::SCC &C, CGSCCAnalysisManager *AM) { PreservedAnalyses PA = PreservedAnalyses::all(); @@ -53,16 +53,16 @@ void CGSCCAnalysisManager::clear() { } CGSCCAnalysisManager::ResultConceptT & -CGSCCAnalysisManager::getResultImpl(void *PassID, LazyCallGraph::SCC *C) { +CGSCCAnalysisManager::getResultImpl(void *PassID, LazyCallGraph::SCC &C) { CGSCCAnalysisResultMapT::iterator RI; bool Inserted; std::tie(RI, Inserted) = CGSCCAnalysisResults.insert(std::make_pair( - std::make_pair(PassID, C), CGSCCAnalysisResultListT::iterator())); + std::make_pair(PassID, &C), CGSCCAnalysisResultListT::iterator())); // 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) { - CGSCCAnalysisResultListT &ResultList = CGSCCAnalysisResultLists[C]; + CGSCCAnalysisResultListT &ResultList = CGSCCAnalysisResultLists[&C]; ResultList.emplace_back(PassID, lookupPass(PassID).run(C, this)); RI->second = std::prev(ResultList.end()); } @@ -72,27 +72,27 @@ CGSCCAnalysisManager::getResultImpl(void *PassID, LazyCallGraph::SCC *C) { CGSCCAnalysisManager::ResultConceptT * CGSCCAnalysisManager::getCachedResultImpl(void *PassID, - LazyCallGraph::SCC *C) const { + LazyCallGraph::SCC &C) const { CGSCCAnalysisResultMapT::const_iterator RI = - CGSCCAnalysisResults.find(std::make_pair(PassID, C)); + CGSCCAnalysisResults.find(std::make_pair(PassID, &C)); return RI == CGSCCAnalysisResults.end() ? nullptr : &*RI->second->second; } -void CGSCCAnalysisManager::invalidateImpl(void *PassID, LazyCallGraph::SCC *C) { +void CGSCCAnalysisManager::invalidateImpl(void *PassID, LazyCallGraph::SCC &C) { CGSCCAnalysisResultMapT::iterator RI = - CGSCCAnalysisResults.find(std::make_pair(PassID, C)); + CGSCCAnalysisResults.find(std::make_pair(PassID, &C)); if (RI == CGSCCAnalysisResults.end()) return; - CGSCCAnalysisResultLists[C].erase(RI->second); + CGSCCAnalysisResultLists[&C].erase(RI->second); } -void CGSCCAnalysisManager::invalidateImpl(LazyCallGraph::SCC *C, +void CGSCCAnalysisManager::invalidateImpl(LazyCallGraph::SCC &C, const PreservedAnalyses &PA) { // Clear all the invalidated results associated specifically with this // function. SmallVector<void *, 8> InvalidatedPassIDs; - CGSCCAnalysisResultListT &ResultsList = CGSCCAnalysisResultLists[C]; + CGSCCAnalysisResultListT &ResultsList = CGSCCAnalysisResultLists[&C]; for (CGSCCAnalysisResultListT::iterator I = ResultsList.begin(), E = ResultsList.end(); I != E;) @@ -104,14 +104,14 @@ void CGSCCAnalysisManager::invalidateImpl(LazyCallGraph::SCC *C, } while (!InvalidatedPassIDs.empty()) CGSCCAnalysisResults.erase( - std::make_pair(InvalidatedPassIDs.pop_back_val(), C)); - CGSCCAnalysisResultLists.erase(C); + std::make_pair(InvalidatedPassIDs.pop_back_val(), &C)); + CGSCCAnalysisResultLists.erase(&C); } char CGSCCAnalysisManagerModuleProxy::PassID; CGSCCAnalysisManagerModuleProxy::Result -CGSCCAnalysisManagerModuleProxy::run(Module *M) { +CGSCCAnalysisManagerModuleProxy::run(Module &M) { assert(CGAM->empty() && "CGSCC analyses ran prior to the module proxy!"); return Result(*CGAM); } @@ -123,7 +123,7 @@ CGSCCAnalysisManagerModuleProxy::Result::~Result() { } bool CGSCCAnalysisManagerModuleProxy::Result::invalidate( - Module *M, const PreservedAnalyses &PA) { + Module &M, const PreservedAnalyses &PA) { // If this proxy isn't marked as preserved, then we can't even invalidate // individual CGSCC analyses, there may be an invalid set of SCC objects in // the cache making it impossible to incrementally preserve them. @@ -140,7 +140,7 @@ char ModuleAnalysisManagerCGSCCProxy::PassID; char FunctionAnalysisManagerCGSCCProxy::PassID; FunctionAnalysisManagerCGSCCProxy::Result -FunctionAnalysisManagerCGSCCProxy::run(LazyCallGraph::SCC *C) { +FunctionAnalysisManagerCGSCCProxy::run(LazyCallGraph::SCC &C) { assert(FAM->empty() && "Function analyses ran prior to the CGSCC proxy!"); return Result(*FAM); } @@ -152,7 +152,7 @@ FunctionAnalysisManagerCGSCCProxy::Result::~Result() { } bool FunctionAnalysisManagerCGSCCProxy::Result::invalidate( - LazyCallGraph::SCC *C, const PreservedAnalyses &PA) { + LazyCallGraph::SCC &C, const PreservedAnalyses &PA) { // If this proxy isn't marked as preserved, then we can't even invalidate // individual function analyses, there may be an invalid set of Function // objects in the cache making it impossible to incrementally preserve them. diff --git a/llvm/lib/Analysis/LazyCallGraph.cpp b/llvm/lib/Analysis/LazyCallGraph.cpp index 767da4e31d1..c8d0410c1e0 100644 --- a/llvm/lib/Analysis/LazyCallGraph.cpp +++ b/llvm/lib/Analysis/LazyCallGraph.cpp @@ -708,11 +708,11 @@ static void printSCC(raw_ostream &OS, LazyCallGraph::SCC &SCC) { OS << "\n"; } -PreservedAnalyses LazyCallGraphPrinterPass::run(Module *M, +PreservedAnalyses LazyCallGraphPrinterPass::run(Module &M, ModuleAnalysisManager *AM) { LazyCallGraph &G = AM->getResult<LazyCallGraphAnalysis>(M); - OS << "Printing the call graph for module: " << M->getModuleIdentifier() + OS << "Printing the call graph for module: " << M.getModuleIdentifier() << "\n\n"; SmallPtrSet<LazyCallGraph::Node *, 16> Printed; @@ -724,5 +724,4 @@ PreservedAnalyses LazyCallGraphPrinterPass::run(Module *M, printSCC(OS, SCC); return PreservedAnalyses::all(); - } diff --git a/llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp b/llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp index 4167f6da509..25456a45621 100644 --- a/llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp +++ b/llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp @@ -18,8 +18,8 @@ #include "llvm/Pass.h" using namespace llvm; -PreservedAnalyses BitcodeWriterPass::run(Module *M) { - WriteBitcodeToFile(M, OS); +PreservedAnalyses BitcodeWriterPass::run(Module &M) { + WriteBitcodeToFile(&M, OS); return PreservedAnalyses::all(); } diff --git a/llvm/lib/IR/IRPrintingPasses.cpp b/llvm/lib/IR/IRPrintingPasses.cpp index c8a17479d8a..91ccfbb2f46 100644 --- a/llvm/lib/IR/IRPrintingPasses.cpp +++ b/llvm/lib/IR/IRPrintingPasses.cpp @@ -24,8 +24,8 @@ PrintModulePass::PrintModulePass() : OS(dbgs()) {} PrintModulePass::PrintModulePass(raw_ostream &OS, const std::string &Banner) : OS(OS), Banner(Banner) {} -PreservedAnalyses PrintModulePass::run(Module *M) { - OS << Banner << *M; +PreservedAnalyses PrintModulePass::run(Module &M) { + OS << Banner << M; return PreservedAnalyses::all(); } @@ -33,8 +33,8 @@ PrintFunctionPass::PrintFunctionPass() : OS(dbgs()) {} PrintFunctionPass::PrintFunctionPass(raw_ostream &OS, const std::string &Banner) : OS(OS), Banner(Banner) {} -PreservedAnalyses PrintFunctionPass::run(Function *F) { - OS << Banner << static_cast<Value &>(*F); +PreservedAnalyses PrintFunctionPass::run(Function &F) { + OS << Banner << static_cast<Value &>(F); return PreservedAnalyses::all(); } @@ -50,7 +50,7 @@ public: : ModulePass(ID), P(OS, Banner) {} bool runOnModule(Module &M) override { - P.run(&M); + P.run(M); return false; } @@ -70,7 +70,7 @@ public: // This pass just prints a banner followed by the function as it's processed. bool runOnFunction(Function &F) override { - P.run(&F); + P.run(F); return false; } diff --git a/llvm/lib/IR/PassManager.cpp b/llvm/lib/IR/PassManager.cpp index 39270edc387..121ec001fd1 100644 --- a/llvm/lib/IR/PassManager.cpp +++ b/llvm/lib/IR/PassManager.cpp @@ -19,7 +19,7 @@ static cl::opt<bool> DebugPM("debug-pass-manager", cl::Hidden, cl::desc("Print pass management debugging information")); -PreservedAnalyses ModulePassManager::run(Module *M, ModuleAnalysisManager *AM) { +PreservedAnalyses ModulePassManager::run(Module &M, ModuleAnalysisManager *AM) { PreservedAnalyses PA = PreservedAnalyses::all(); if (DebugPM) @@ -34,7 +34,7 @@ PreservedAnalyses ModulePassManager::run(Module *M, ModuleAnalysisManager *AM) { AM->invalidate(M, PassPA); PA.intersect(std::move(PassPA)); - M->getContext().yield(); + M.getContext().yield(); } if (DebugPM) @@ -44,11 +44,11 @@ PreservedAnalyses ModulePassManager::run(Module *M, ModuleAnalysisManager *AM) { } ModuleAnalysisManager::ResultConceptT & -ModuleAnalysisManager::getResultImpl(void *PassID, Module *M) { +ModuleAnalysisManager::getResultImpl(void *PassID, Module &M) { ModuleAnalysisResultMapT::iterator RI; bool Inserted; std::tie(RI, Inserted) = ModuleAnalysisResults.insert(std::make_pair( - PassID, std::unique_ptr<detail::AnalysisResultConcept<Module *>>())); + PassID, std::unique_ptr<detail::AnalysisResultConcept<Module &>>())); // If we don't have a cached result for this module, look up the pass and run // it to produce a result, which we then add to the cache. @@ -59,17 +59,17 @@ ModuleAnalysisManager::getResultImpl(void *PassID, Module *M) { } ModuleAnalysisManager::ResultConceptT * -ModuleAnalysisManager::getCachedResultImpl(void *PassID, Module *M) const { +ModuleAnalysisManager::getCachedResultImpl(void *PassID, Module &M) const { ModuleAnalysisResultMapT::const_iterator RI = ModuleAnalysisResults.find(PassID); return RI == ModuleAnalysisResults.end() ? nullptr : &*RI->second; } -void ModuleAnalysisManager::invalidateImpl(void *PassID, Module *M) { +void ModuleAnalysisManager::invalidateImpl(void *PassID, Module &M) { ModuleAnalysisResults.erase(PassID); } -void ModuleAnalysisManager::invalidateImpl(Module *M, +void ModuleAnalysisManager::invalidateImpl(Module &M, const PreservedAnalyses &PA) { // FIXME: This is a total hack based on the fact that erasure doesn't // invalidate iteration for DenseMap. @@ -80,7 +80,7 @@ void ModuleAnalysisManager::invalidateImpl(Module *M, ModuleAnalysisResults.erase(I); } -PreservedAnalyses FunctionPassManager::run(Function *F, +PreservedAnalyses FunctionPassManager::run(Function &F, FunctionAnalysisManager *AM) { PreservedAnalyses PA = PreservedAnalyses::all(); @@ -96,7 +96,7 @@ PreservedAnalyses FunctionPassManager::run(Function *F, AM->invalidate(F, PassPA); PA.intersect(std::move(PassPA)); - F->getContext().yield(); + F.getContext().yield(); } if (DebugPM) @@ -119,16 +119,16 @@ void FunctionAnalysisManager::clear() { } FunctionAnalysisManager::ResultConceptT & -FunctionAnalysisManager::getResultImpl(void *PassID, Function *F) { +FunctionAnalysisManager::getResultImpl(void *PassID, Function &F) { FunctionAnalysisResultMapT::iterator RI; bool Inserted; std::tie(RI, Inserted) = FunctionAnalysisResults.insert(std::make_pair( - std::make_pair(PassID, F), FunctionAnalysisResultListT::iterator())); + std::make_pair(PassID, &F), FunctionAnalysisResultListT::iterator())); // 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) { - FunctionAnalysisResultListT &ResultList = FunctionAnalysisResultLists[F]; + FunctionAnalysisResultListT &ResultList = FunctionAnalysisResultLists[&F]; ResultList.emplace_back(PassID, lookupPass(PassID).run(F, this)); RI->second = std::prev(ResultList.end()); } @@ -137,27 +137,27 @@ FunctionAnalysisManager::getResultImpl(void *PassID, Function *F) { } FunctionAnalysisManager::ResultConceptT * -FunctionAnalysisManager::getCachedResultImpl(void *PassID, Function *F) const { +FunctionAnalysisManager::getCachedResultImpl(void *PassID, Function &F) const { FunctionAnalysisResultMapT::const_iterator RI = - FunctionAnalysisResults.find(std::make_pair(PassID, F)); + FunctionAnalysisResults.find(std::make_pair(PassID, &F)); return RI == FunctionAnalysisResults.end() ? nullptr : &*RI->second->second; } -void FunctionAnalysisManager::invalidateImpl(void *PassID, Function *F) { +void FunctionAnalysisManager::invalidateImpl(void *PassID, Function &F) { FunctionAnalysisResultMapT::iterator RI = - FunctionAnalysisResults.find(std::make_pair(PassID, F)); + FunctionAnalysisResults.find(std::make_pair(PassID, &F)); if (RI == FunctionAnalysisResults.end()) return; - FunctionAnalysisResultLists[F].erase(RI->second); + FunctionAnalysisResultLists[&F].erase(RI->second); } -void FunctionAnalysisManager::invalidateImpl(Function *F, +void FunctionAnalysisManager::invalidateImpl(Function &F, const PreservedAnalyses &PA) { // Clear all the invalidated results associated specifically with this // function. SmallVector<void *, 8> InvalidatedPassIDs; - FunctionAnalysisResultListT &ResultsList = FunctionAnalysisResultLists[F]; + FunctionAnalysisResultListT &ResultsList = FunctionAnalysisResultLists[&F]; for (FunctionAnalysisResultListT::iterator I = ResultsList.begin(), E = ResultsList.end(); I != E;) @@ -169,15 +169,15 @@ void FunctionAnalysisManager::invalidateImpl(Function *F, } while (!InvalidatedPassIDs.empty()) FunctionAnalysisResults.erase( - std::make_pair(InvalidatedPassIDs.pop_back_val(), F)); + std::make_pair(InvalidatedPassIDs.pop_back_val(), &F)); if (ResultsList.empty()) - FunctionAnalysisResultLists.erase(F); + FunctionAnalysisResultLists.erase(&F); } char FunctionAnalysisManagerModuleProxy::PassID; FunctionAnalysisManagerModuleProxy::Result -FunctionAnalysisManagerModuleProxy::run(Module *M) { +FunctionAnalysisManagerModuleProxy::run(Module &M) { assert(FAM->empty() && "Function analyses ran prior to the module proxy!"); return Result(*FAM); } @@ -189,7 +189,7 @@ FunctionAnalysisManagerModuleProxy::Result::~Result() { } bool FunctionAnalysisManagerModuleProxy::Result::invalidate( - Module *M, const PreservedAnalyses &PA) { + Module &M, const PreservedAnalyses &PA) { // If this proxy isn't marked as preserved, then we can't even invalidate // individual function analyses, there may be an invalid set of Function // objects in the cache making it impossible to incrementally preserve them. diff --git a/llvm/lib/IR/Verifier.cpp b/llvm/lib/IR/Verifier.cpp index 0bc9d5e1bc8..bc721145d2a 100644 --- a/llvm/lib/IR/Verifier.cpp +++ b/llvm/lib/IR/Verifier.cpp @@ -2902,15 +2902,15 @@ ModulePass *llvm::createDebugInfoVerifierPass(bool FatalErrors) { return new DebugInfoVerifierLegacyPass(FatalErrors); } -PreservedAnalyses VerifierPass::run(Module *M) { - if (verifyModule(*M, &dbgs()) && FatalErrors) +PreservedAnalyses VerifierPass::run(Module &M) { + if (verifyModule(M, &dbgs()) && FatalErrors) report_fatal_error("Broken module found, compilation aborted!"); return PreservedAnalyses::all(); } -PreservedAnalyses VerifierPass::run(Function *F) { - if (verifyFunction(*F, &dbgs()) && FatalErrors) +PreservedAnalyses VerifierPass::run(Function &F) { + if (verifyFunction(F, &dbgs()) && FatalErrors) report_fatal_error("Broken function found, compilation aborted!"); return PreservedAnalyses::all(); |