diff --git a/CMakeLists.txt b/CMakeLists.txt index 97d31fec5772186106597092c15c6b96ba7df3e7..0e071a752525d1ed03d32e6bc1235b8ffd5ec5bf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ set(METRICS_TEST_DIR ${CMAKE_BINARY_DIR}/tools/find-inputs) configure_lit_site_cfg(${CMAKE_CURRENT_SOURCE_DIR}/test/lit.site.cfg.in ${METRICS_TEST_DIR}/lit.site.cfg) -set(LLVM_LINK_COMPONENTS ${LLVM_TARGETS_TO_BUILD} bitreader asmparser irreader) +set(LLVM_LINK_COMPONENTS ${LLVM_TARGETS_TO_BUILD} analysis core bitreader asmparser irreader passes support option libdriver) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") diff --git a/bin/calc-mccabe.cpp b/bin/calc-mccabe.cpp index c1dba60fce0d0c663f6d0c31387f3f118d4a6387..89913faa85ffaf8731bde0bbb715f1e262f23bbf 100644 --- a/bin/calc-mccabe.cpp +++ b/bin/calc-mccabe.cpp @@ -27,6 +27,7 @@ #include "llvm/IR/Module.h" #include "llvm/IRReader/IRReader.h" #include "llvm/Support/CommandLine.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/FormattedStream.h" #include "llvm/Support/ManagedStatic.h" #include "llvm/Support/PrettyStackTrace.h" @@ -76,25 +77,25 @@ int main(int argc, char **argv) { cl::ParseCommandLineOptions(argc, argv); - std::string ErrorInfo; - OwningPtr<tool_output_file> Out; - Out.reset(new tool_output_file(OutputFilename.c_str(), ErrorInfo, - sys::fs::F_Append)); + std::error_code ErrorInfo; + auto Out = std::unique_ptr<tool_output_file>( + new tool_output_file(OutputFilename, ErrorInfo, sys::fs::F_Append) + ); - if (!ErrorInfo.empty()) { - errs() << ErrorInfo << "\n"; + if (ErrorInfo) { + errs() << ErrorInfo.message() << "\n"; exit(EXIT_FAILURE); } SMDiagnostic Err; - OwningPtr<Module> M; + std::unique_ptr<Module> M; if (!sys::fs::exists(InputFilename)) { errs() << "File '" << InputFilename << "' not found.\n"; exit(EXIT_FAILURE); } - M.reset(ParseIRFile(InputFilename, Err, Context)); + M = parseIRFile(InputFilename, Err, Context); assert(M.get() != nullptr && "Could not initialize module"); legacy::FunctionPassManager FPM(M.get()); diff --git a/bin/call-stack.cpp b/bin/call-stack.cpp index 9e8f1fd36bd72c5eb9c3363f850eb8bcbd34ea02..1bda73e0b06d96978f3054f4a136e18a036ea4e0 100644 --- a/bin/call-stack.cpp +++ b/bin/call-stack.cpp @@ -20,7 +20,6 @@ #include "llvm/Pass.h" #include "llvm/PassRegistry.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SCCIterator.h" #include "llvm/Analysis/CallGraph.h" #include "llvm/IR/Function.h" @@ -30,6 +29,7 @@ #include "llvm/IR/Module.h" #include "llvm/IRReader/IRReader.h" #include "llvm/Support/CommandLine.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/FormattedStream.h" #include "llvm/Support/ManagedStatic.h" #include "llvm/Support/PrettyStackTrace.h" @@ -62,7 +62,7 @@ struct CallStackPrinter : ModulePass { CallStackPrinter(raw_ostream &out, const Function *Func) : ModulePass(ID), Out(out), F(Func) { - initializeCallGraphPass(*PassRegistry::getPassRegistry()); + initializeCallGraphWrapperPassPass(*PassRegistry::getPassRegistry()); } bool runOnModule(Module &M) override { getRecursions(F); @@ -110,11 +110,11 @@ struct CallStackPrinter : ModulePass { void getAnalysisUsage(AnalysisUsage &AU) const override { AU.setPreservesAll(); - AU.addRequired<CallGraph>(); + AU.addRequired<CallGraphWrapperPass>(); } void getRecursions(const Function *F) { - const auto CGN = getAnalysis<CallGraph>()[F]; + const auto CGN = getAnalysis<CallGraphWrapperPass>().getCallGraph()[F]; for (auto SI = scc_begin(CGN), SE = scc_end(CGN); SI != SE; ++SI) if (SI.hasLoop()) { @@ -141,25 +141,25 @@ int main(int argc, char **argv) { cl::ParseCommandLineOptions(argc, argv); - std::string ErrorInfo; - OwningPtr<tool_output_file> Out; - Out.reset(new tool_output_file(OutputFilename.c_str(), ErrorInfo, - sys::fs::F_Append)); + std::error_code ErrorInfo; + auto Out = std::unique_ptr<tool_output_file>( + new tool_output_file(OutputFilename, ErrorInfo, sys::fs::F_Append) + ); - if (!ErrorInfo.empty()) { - errs() << ErrorInfo << "\n"; + if (ErrorInfo) { + errs() << ErrorInfo.message() << "\n"; exit(EXIT_FAILURE); } SMDiagnostic Err; - OwningPtr<Module> M; + std::unique_ptr<Module> M; if (!sys::fs::exists(InputFilename)) { errs() << "File '" << InputFilename << "' not found.\n"; exit(EXIT_FAILURE); } - M.reset(ParseIRFile(InputFilename, Err, Context)); + M = parseIRFile(InputFilename, Err, Context); assert(M.get() != nullptr && "Could not initialize module"); legacy::PassManager PM; diff --git a/bin/find-inputs.cpp b/bin/find-inputs.cpp index b5d2a7650a5b9f97ef2c185c6bc8a486097c781a..54d947daa28443d88f03d32ac8b1e4059b314f2b 100644 --- a/bin/find-inputs.cpp +++ b/bin/find-inputs.cpp @@ -20,7 +20,6 @@ #include "llvm/Pass.h" #include "llvm/PassRegistry.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/IR/Function.h" #include "llvm/IR/LegacyPassManager.h" #include "llvm/IR/LegacyPassManagers.h" @@ -29,6 +28,7 @@ #include "llvm/IR/Value.h" #include "llvm/IRReader/IRReader.h" #include "llvm/Support/CommandLine.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/FormattedStream.h" #include "llvm/Support/ManagedStatic.h" #include "llvm/Support/PrettyStackTrace.h" @@ -135,25 +135,25 @@ int main(int argc, char **argv) { cl::ParseCommandLineOptions(argc, argv); - std::string ErrorInfo; - OwningPtr<tool_output_file> Out; - Out.reset(new tool_output_file(OutputFilename.c_str(), ErrorInfo, - sys::fs::F_Append)); + std::error_code ErrorInfo; + auto Out = std::unique_ptr<tool_output_file>( + new tool_output_file(OutputFilename, ErrorInfo, sys::fs::F_Append) + ); - if (!ErrorInfo.empty()) { - errs() << ErrorInfo << "\n"; + if (ErrorInfo) { + errs() << ErrorInfo.message() << "\n"; exit(EXIT_FAILURE); } SMDiagnostic Err; - OwningPtr<Module> M; + std::unique_ptr<Module> M; if (!sys::fs::exists(InputFilename)) { errs() << "File '" << InputFilename << "' not found.\n"; exit(EXIT_FAILURE); } - M.reset(ParseIRFile(InputFilename, Err, Context)); + M = parseIRFile(InputFilename, Err, Context); assert(M.get() != nullptr && "Could not initialize module"); legacy::FunctionPassManager FPM(M.get()); diff --git a/bin/is-recursive.cpp b/bin/is-recursive.cpp index 708c431ddcf3877fc28cbdadb28e08fedbdf1800..62bc99c598204743a37e0e92cbc3d25e785a8ff4 100644 --- a/bin/is-recursive.cpp +++ b/bin/is-recursive.cpp @@ -18,7 +18,6 @@ */ #include "llvm/Pass.h" #include "llvm/PassRegistry.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SCCIterator.h" #include "llvm/Analysis/CallGraph.h" #include "llvm/IR/Function.h" @@ -28,6 +27,7 @@ #include "llvm/IR/Module.h" #include "llvm/IRReader/IRReader.h" #include "llvm/Support/CommandLine.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/FormattedStream.h" #include "llvm/Support/ManagedStatic.h" #include "llvm/Support/PrettyStackTrace.h" @@ -59,7 +59,7 @@ struct RecursionPrinter : ModulePass { RecursionPrinter(raw_ostream &out, const Function *Func) : ModulePass(ID), Out(out), F(Func) { - initializeCallGraphPass(*PassRegistry::getPassRegistry()); + initializeCallGraphWrapperPassPass(*PassRegistry::getPassRegistry()); } bool runOnModule(Module &M) override { getRecursions(F); @@ -90,11 +90,11 @@ struct RecursionPrinter : ModulePass { void getAnalysisUsage(AnalysisUsage &AU) const override { AU.setPreservesAll(); - AU.addRequired<CallGraph>(); + AU.addRequired<CallGraphWrapperPass>(); } void getRecursions(const Function *F) { - const auto CGN = getAnalysis<CallGraph>()[F]; + const auto CGN = getAnalysis<CallGraphWrapperPass>().getCallGraph()[F]; for (auto SI = scc_begin(CGN), SE = scc_end(CGN); SI != SE; ++SI) if (SI.hasLoop()) { @@ -121,25 +121,25 @@ int main(int argc, char **argv) { cl::ParseCommandLineOptions(argc, argv); - std::string ErrorInfo; - OwningPtr<tool_output_file> Out; - Out.reset(new tool_output_file(OutputFilename.c_str(), ErrorInfo, - sys::fs::F_Append)); + std::error_code ErrorInfo; + auto Out = std::unique_ptr<tool_output_file>( + new tool_output_file(OutputFilename, ErrorInfo, sys::fs::F_Append) + ); - if (!ErrorInfo.empty()) { - errs() << ErrorInfo << "\n"; + if (ErrorInfo) { + errs() << ErrorInfo.message() << "\n"; exit(EXIT_FAILURE); } SMDiagnostic Err; - OwningPtr<Module> M; + std::unique_ptr<Module> M; if (!sys::fs::exists(InputFilename)) { errs() << "File '" << InputFilename << "' not found.\n"; exit(EXIT_FAILURE); } - M.reset(ParseIRFile(InputFilename, Err, Context)); + M = parseIRFile(InputFilename, Err, Context); assert(M.get() != nullptr && "Could not initialize module"); legacy::PassManager PM; diff --git a/bin/loop-stats.cpp b/bin/loop-stats.cpp index 5c4d36fc75272619601969deeecc6defd645ab04..878a0f40e1f34636ccfd3fb844a84ec2c3603b4b 100644 --- a/bin/loop-stats.cpp +++ b/bin/loop-stats.cpp @@ -20,7 +20,6 @@ #include "llvm/Pass.h" #include "llvm/PassRegistry.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/IR/Function.h" #include "llvm/IR/LegacyPassManager.h" #include "llvm/IR/LegacyPassManagers.h" @@ -28,6 +27,7 @@ #include "llvm/IR/Module.h" #include "llvm/IRReader/IRReader.h" #include "llvm/Support/CommandLine.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/FormattedStream.h" #include "llvm/Support/ManagedStatic.h" #include "llvm/Support/PrettyStackTrace.h" @@ -85,25 +85,25 @@ int main(int argc, char **argv) { cl::ParseCommandLineOptions(argc, argv); - std::string ErrorInfo; - OwningPtr<tool_output_file> Out; - Out.reset(new tool_output_file(OutputFilename.c_str(), ErrorInfo, - sys::fs::F_Append)); + std::error_code ErrorInfo; + auto Out = std::unique_ptr<tool_output_file>( + new tool_output_file(OutputFilename, ErrorInfo, sys::fs::F_Append) + ); - if (!ErrorInfo.empty()) { - errs() << ErrorInfo << "\n"; + if (ErrorInfo) { + errs() << ErrorInfo.message() << "\n"; exit(EXIT_FAILURE); } SMDiagnostic Err; - OwningPtr<Module> M; + std::unique_ptr<Module> M; if (!sys::fs::exists(InputFilename)) { errs() << "File '" << InputFilename << "' not found.\n"; exit(EXIT_FAILURE); } - M.reset(ParseIRFile(InputFilename, Err, Context)); + M = parseIRFile(InputFilename, Err, Context); assert(M.get() != nullptr && "Could not initialize module"); legacy::PassManager PM; diff --git a/bin/metrics.cpp b/bin/metrics.cpp index 2805aaac492b6355d8733440b18a38370312f240..20f827437d6c47e462f095f269bf43c3f9973fd7 100644 --- a/bin/metrics.cpp +++ b/bin/metrics.cpp @@ -29,7 +29,6 @@ #include "llvm/Pass.h" #include "llvm/PassRegistry.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/IR/Function.h" #include "llvm/IR/LegacyPassManager.h" #include "llvm/IR/LegacyPassManagers.h" @@ -38,6 +37,7 @@ #include "llvm/IR/Value.h" #include "llvm/IRReader/IRReader.h" #include "llvm/Support/CommandLine.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/FormattedStream.h" #include "llvm/Support/ManagedStatic.h" #include "llvm/Support/PrettyStackTrace.h" @@ -105,25 +105,25 @@ int main(int argc, char **argv) { if (debug::opt::DumpRegisteredPasses) debug::DumpRegisteredPasses(); - std::string ErrorInfo; - OwningPtr<tool_output_file> Out; - Out.reset(new tool_output_file(OutputFilename.c_str(), ErrorInfo, - sys::fs::F_Append)); + std::error_code ErrorInfo; + auto Out = std::unique_ptr<tool_output_file>( + new tool_output_file(OutputFilename, ErrorInfo, sys::fs::F_Append) + ); - if (!ErrorInfo.empty()) { - errs() << ErrorInfo << "\n"; + if (ErrorInfo) { + errs() << ErrorInfo.message() << "\n"; exit(EXIT_FAILURE); } SMDiagnostic Err; - OwningPtr<Module> M; + std::unique_ptr<Module> M; if (!sys::fs::exists(InputFilename)) { errs() << "File '" << InputFilename << "' not found.\n"; exit(EXIT_FAILURE); } - M.reset(ParseIRFile(InputFilename, Err, Context)); + M = parseIRFile(InputFilename, Err, Context); assert(M.get() != nullptr && "Could not initialize module"); legacy::PassManager PM; diff --git a/bin/uses-fptr.cpp b/bin/uses-fptr.cpp index e8aedcd9171cdd84b2e50fb8a7b49a2c3e0d7599..073c0ad309c5ebab4ddc87c45745ac0252e5f9de 100644 --- a/bin/uses-fptr.cpp +++ b/bin/uses-fptr.cpp @@ -20,7 +20,6 @@ #include "llvm/Pass.h" #include "llvm/PassRegistry.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/IR/Function.h" #include "llvm/IR/LegacyPassManager.h" #include "llvm/IR/LegacyPassManagers.h" @@ -28,6 +27,7 @@ #include "llvm/IR/Module.h" #include "llvm/IRReader/IRReader.h" #include "llvm/Support/CommandLine.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/FormattedStream.h" #include "llvm/Support/ManagedStatic.h" #include "llvm/Support/PrettyStackTrace.h" @@ -59,7 +59,7 @@ struct FunctionPointerPrinter : ModulePass { FunctionPointerPrinter(raw_ostream &out, const Function *Func) : ModulePass(ID), Out(out), F(Func) { - initializeCallGraphPass(*PassRegistry::getPassRegistry()); + initializeCallGraphWrapperPassPass(*PassRegistry::getPassRegistry()); } bool runOnModule(Module &M) override { @@ -115,25 +115,25 @@ int main(int argc, char **argv) { cl::ParseCommandLineOptions(argc, argv); - std::string ErrorInfo; - OwningPtr<tool_output_file> Out; - Out.reset(new tool_output_file(OutputFilename.c_str(), ErrorInfo, - sys::fs::F_Append)); + std::error_code ErrorInfo; + auto Out = std::unique_ptr<tool_output_file>( + new tool_output_file(OutputFilename, ErrorInfo, sys::fs::F_Append) + ); - if (!ErrorInfo.empty()) { - errs() << ErrorInfo << "\n"; + if (ErrorInfo) { + errs() << ErrorInfo.message() << "\n"; exit(EXIT_FAILURE); } SMDiagnostic Err; - OwningPtr<Module> M; + std::unique_ptr<Module> M; if (!sys::fs::exists(InputFilename)) { errs() << "File '" << InputFilename << "' not found.\n"; exit(EXIT_FAILURE); } - M.reset(ParseIRFile(InputFilename, Err, Context)); + M = parseIRFile(InputFilename, Err, Context); assert(M.get() != nullptr && "Could not initialize module"); legacy::PassManager PM; diff --git a/bin/uses-fpu.cpp b/bin/uses-fpu.cpp index bc3e9dae7e72f6e7fda52ed8b9f589d63a6a556a..a009f49dd3a4d60717996c49fc00d676d1af0ed5 100644 --- a/bin/uses-fpu.cpp +++ b/bin/uses-fpu.cpp @@ -28,6 +28,7 @@ #include "llvm/IR/Module.h" #include "llvm/IRReader/IRReader.h" #include "llvm/Support/CommandLine.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/FormattedStream.h" #include "llvm/Support/ManagedStatic.h" #include "llvm/Support/PrettyStackTrace.h" @@ -115,25 +116,25 @@ int main(int argc, char **argv) { cl::ParseCommandLineOptions(argc, argv); - std::string ErrorInfo; - OwningPtr<tool_output_file> Out; - Out.reset(new tool_output_file(OutputFilename.c_str(), ErrorInfo, - sys::fs::F_Append)); + std::error_code ErrorInfo; + auto Out = std::unique_ptr<tool_output_file>( + new tool_output_file(OutputFilename, ErrorInfo, sys::fs::F_Append) + ); - if (!ErrorInfo.empty()) { - errs() << ErrorInfo << "\n"; + if (ErrorInfo) { + errs() << ErrorInfo.message() << "\n"; exit(EXIT_FAILURE); } SMDiagnostic Err; - OwningPtr<Module> M; + std::unique_ptr<Module> M; if (!sys::fs::exists(InputFilename)) { errs() << "File '" << InputFilename << "' not found.\n"; exit(EXIT_FAILURE); } - M.reset(ParseIRFile(InputFilename, Err, Context)); + M = parseIRFile(InputFilename, Err, Context); assert(M.get() != nullptr && "Could not initialize module"); legacy::FunctionPassManager FPM(M.get()); diff --git a/lib/FInputsPass.cpp b/lib/FInputsPass.cpp index eb73bb52690bc2926a209ecc7ee6d9cccb4dac51..84d95bd7527ff642623a12077e9a01d6ea17804f 100644 --- a/lib/FInputsPass.cpp +++ b/lib/FInputsPass.cpp @@ -19,12 +19,14 @@ #include "lib/FInputsPass.h" #include "lib/Util.h" +#include "llvm-c/Core.h" + #include "llvm/IR/BasicBlock.h" #include "llvm/IR/Constants.h" #include "llvm/IR/Instructions.h" #include "llvm/IR/Operator.h" #include "llvm/IR/User.h" -#include "llvm/Support/CFG.h" +#include "llvm/Analysis/CFG.h" #include "llvm/Support/Format.h" #include "llvm/Support/FormattedStream.h" diff --git a/lib/FInputsPass.h b/lib/FInputsPass.h index ecc5bf98c9f61afc0a7f78f4bb3cf62a793f3d3b..42214e9c277be47eaa010b8878bf5261ce968c67 100644 --- a/lib/FInputsPass.h +++ b/lib/FInputsPass.h @@ -20,7 +20,7 @@ #include "FInputsResult.h" -#include "llvm/InstVisitor.h" +#include "llvm/IR/InstVisitor.h" #include "llvm/Pass.h" //#include "llvm/Analysis/AliasAnalysis.h" #include "llvm/IR/Function.h" diff --git a/lib/LoopStatsPass.cpp b/lib/LoopStatsPass.cpp index 67bc3a95add7500d8bf5ce0bd6e3c3a537244bb2..c09e0eea80bb1bc22766d1b6ad59ade916c3d871 100644 --- a/lib/LoopStatsPass.cpp +++ b/lib/LoopStatsPass.cpp @@ -62,7 +62,7 @@ LoopStats LoopStatsPass::examineFunction(Function &F, visited.insert(&F); std::map<unsigned, unsigned> depths; - LoopInfo &LI = getAnalysis<LoopInfo>(F); + LoopInfo &LI = getAnalysis<LoopInfoWrapperPass>(F).getLoopInfo(); auto It = LI.begin(); auto Et = LI.end(); unsigned int loops = std::distance(It, Et); diff --git a/lib/LoopStatsPass.h b/lib/LoopStatsPass.h index 7d4587a3f353255aa72c64018219b35f71ce401d..2e643b43f36b519e2feeb2dcbd8c996ceb5f424f 100644 --- a/lib/LoopStatsPass.h +++ b/lib/LoopStatsPass.h @@ -33,13 +33,13 @@ class LoopStatsPass : public ModulePass { public: static char ID; LoopStatsPass() : ModulePass(ID) { - initializeLoopInfoPass(*PassRegistry::getPassRegistry()); + initializeLoopInfoWrapperPassPass(*PassRegistry::getPassRegistry()); } bool runOnModule(Module &M) override; void getAnalysisUsage(AnalysisUsage &AU) const override { AU.setPreservesAll(); - AU.addRequired<LoopInfo>(); + AU.addRequired<LoopInfoWrapperPass>(); } LoopStats loopStats(Function &F); diff --git a/lib/McCabePass.cpp b/lib/McCabePass.cpp index b4d786319de5635e0cf77f5ad169c20a53cea80b..92ff51f3396dde9c7c9e73ba3346a92ad313d224 100644 --- a/lib/McCabePass.cpp +++ b/lib/McCabePass.cpp @@ -21,7 +21,7 @@ #include "llvm/IR/BasicBlock.h" #include "llvm/IR/Instructions.h" -#include "llvm/Support/CFG.h" +#include "llvm/Analysis/CFG.h" #include "llvm/Support/FormattedStream.h" using namespace llvm; diff --git a/lib/printing/CallStackPrinter.h b/lib/printing/CallStackPrinter.h index a1478d7239f9b38f4d17598d071cbfab2b629a8f..e53a974be917a931afc5554059c60fc386219906 100644 --- a/lib/printing/CallStackPrinter.h +++ b/lib/printing/CallStackPrinter.h @@ -20,7 +20,6 @@ #include "llvm/Pass.h" #include "llvm/PassRegistry.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SCCIterator.h" #include "llvm/Analysis/CallGraph.h" #include "llvm/IR/Function.h" @@ -51,7 +50,7 @@ struct CallStackPrinter : ModulePass { CallStackPrinter(raw_ostream &out, const Function *Func) : ModulePass(ID), Out(out), F(Func) { - initializeCallGraphPass(*PassRegistry::getPassRegistry()); + initializeCallGraphWrapperPassPass(*PassRegistry::getPassRegistry()); } bool runOnModule(Module &M) override { getRecursions(F); @@ -99,11 +98,11 @@ struct CallStackPrinter : ModulePass { void getAnalysisUsage(AnalysisUsage &AU) const override { AU.setPreservesAll(); - AU.addRequired<CallGraph>(); + AU.addRequired<CallGraphWrapperPass>(); } void getRecursions(const Function *F) { - const auto CGN = getAnalysis<CallGraph>()[F]; + const auto CGN = getAnalysis<CallGraphWrapperPass>().getCallGraph()[F]; for (auto SI = scc_begin(CGN), SE = scc_end(CGN); SI != SE; ++SI) if (SI.hasLoop()) { diff --git a/lib/printing/FInputPrinter.h b/lib/printing/FInputPrinter.h index edcfa0cf78eee971931d9e0ad9d0f2326886faf7..44d675cfaf92537f660ee620c714796a10dcd259 100644 --- a/lib/printing/FInputPrinter.h +++ b/lib/printing/FInputPrinter.h @@ -18,7 +18,6 @@ */ #include "llvm/Pass.h" #include "llvm/PassRegistry.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/IR/Function.h" #include "llvm/IR/LegacyPassManager.h" #include "llvm/IR/LegacyPassManagers.h" diff --git a/lib/printing/FunctionPointerPrinter.h b/lib/printing/FunctionPointerPrinter.h index 3307e05695091789133f87ffed742b50f7d3f2d9..6704ca637c4eef00eda9e8a53522f562c90405ec 100644 --- a/lib/printing/FunctionPointerPrinter.h +++ b/lib/printing/FunctionPointerPrinter.h @@ -20,7 +20,6 @@ #include "llvm/Pass.h" #include "llvm/PassRegistry.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/IR/Function.h" #include "llvm/IR/LegacyPassManager.h" #include "llvm/IR/LegacyPassManagers.h" @@ -48,7 +47,7 @@ struct FunctionPointerPrinter : ModulePass { FunctionPointerPrinter(raw_ostream &out, const Function *Func) : ModulePass(ID), Out(out), F(Func) { - initializeCallGraphPass(*PassRegistry::getPassRegistry()); + initializeCallGraphWrapperPassPass(*PassRegistry::getPassRegistry()); } bool runOnModule(Module &M) override { diff --git a/lib/printing/LoopStatsPrinter.h b/lib/printing/LoopStatsPrinter.h index 44459b9e421b5101f5c216ffbba9e2354aa77aef..5d557e30693c292518dc99914358a78f65b07ef8 100644 --- a/lib/printing/LoopStatsPrinter.h +++ b/lib/printing/LoopStatsPrinter.h @@ -22,7 +22,6 @@ #include "llvm/Pass.h" #include "llvm/PassRegistry.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/IR/Function.h" #include "llvm/IR/LegacyPassManager.h" #include "llvm/IR/LegacyPassManagers.h" diff --git a/lib/printing/RecursionPrinter.h b/lib/printing/RecursionPrinter.h index 1e15b86e61f13966091e459564a035b2ac68caba..ea5b30e82fd12d3f2eb36929d81acfcd2fd88708 100644 --- a/lib/printing/RecursionPrinter.h +++ b/lib/printing/RecursionPrinter.h @@ -18,7 +18,6 @@ */ #include "llvm/Pass.h" #include "llvm/PassRegistry.h" -#include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SCCIterator.h" #include "llvm/Analysis/CallGraph.h" #include "llvm/IR/Function.h" @@ -48,7 +47,7 @@ struct RecursionPrinter : ModulePass { RecursionPrinter(raw_ostream &out, const Function *Func) : ModulePass(ID), Out(out), F(Func) { - initializeCallGraphPass(*PassRegistry::getPassRegistry()); + initializeCallGraphWrapperPassPass(*PassRegistry::getPassRegistry()); } bool runOnModule(Module &M) override { getRecursions(F); @@ -80,11 +79,11 @@ struct RecursionPrinter : ModulePass { void getAnalysisUsage(AnalysisUsage &AU) const override { AU.setPreservesAll(); - AU.addRequired<CallGraph>(); + AU.addRequired<CallGraphWrapperPass>(); } void getRecursions(const Function *F) { - const auto CGN = getAnalysis<CallGraph>()[F]; + const auto CGN = getAnalysis<CallGraphWrapperPass>().getCallGraph()[F]; for (auto SI = scc_begin(CGN), SE = scc_end(CGN); SI != SE; ++SI) if (SI.hasLoop()) {