From 857ce0b54030d41ef413faa7519c205f1b6896f0 Mon Sep 17 00:00:00 2001 From: Martin Mory Date: Thu, 23 Dec 2021 17:17:34 +0100 Subject: [PATCH 1/8] clang-tidy fixes in passes - mostly renaming --- .../PhasarLLVM/Passes/ExampleModulePass.h | 2 +- .../Passes/GeneralStatisticsAnalysis.h | 30 +++---- .../PhasarLLVM/Passes/ValueAnnotationPass.h | 4 +- include/phasar/PhasarPass/Options.h | 18 ++-- include/phasar/PhasarPass/PhasarPass.h | 2 +- include/phasar/PhasarPass/PhasarPrinterPass.h | 2 +- lib/PhasarLLVM/Passes/ExampleModulePass.cpp | 4 +- .../Passes/GeneralStatisticsAnalysis.cpp | 87 +++++++++---------- lib/PhasarLLVM/Passes/ValueAnnotationPass.cpp | 6 +- lib/PhasarPass/PhasarPass.cpp | 14 ++- lib/PhasarPass/PhasarPrinterPass.cpp | 8 +- lib/PhasarPass/RegisterPasses.cpp | 34 ++++---- 12 files changed, 102 insertions(+), 109 deletions(-) diff --git a/include/phasar/PhasarLLVM/Passes/ExampleModulePass.h b/include/phasar/PhasarLLVM/Passes/ExampleModulePass.h index 68f1053dd3..54e97ed4df 100644 --- a/include/phasar/PhasarLLVM/Passes/ExampleModulePass.h +++ b/include/phasar/PhasarLLVM/Passes/ExampleModulePass.h @@ -21,7 +21,7 @@ namespace psr { class ExampleModulePass : public llvm::AnalysisInfoMixin { private: friend llvm::AnalysisInfoMixin; - static llvm::AnalysisKey Key; + static llvm::AnalysisKey Key; // NOLINT public: explicit ExampleModulePass(); diff --git a/include/phasar/PhasarLLVM/Passes/GeneralStatisticsAnalysis.h b/include/phasar/PhasarLLVM/Passes/GeneralStatisticsAnalysis.h index ee07db14eb..985f4d8f09 100644 --- a/include/phasar/PhasarLLVM/Passes/GeneralStatisticsAnalysis.h +++ b/include/phasar/PhasarLLVM/Passes/GeneralStatisticsAnalysis.h @@ -34,19 +34,19 @@ namespace psr { class GeneralStatistics { private: friend class GeneralStatisticsAnalysis; - size_t functions = 0; - size_t globals = 0; - size_t basicblocks = 0; - size_t allocationsites = 0; - size_t callsites = 0; - size_t instructions = 0; - size_t storeInstructions = 0; - size_t loadInstructions = 0; - size_t memIntrinsic = 0; - size_t globalPointers = 0; - std::set allocatedTypes; - std::set allocaInstructions; - std::set retResInstructions; + size_t Functions = 0; + size_t Globals = 0; + size_t BasicBlocks = 0; + size_t AllocationSites = 0; + size_t CallSites = 0; + size_t Instructions = 0; + size_t StoreInstructions = 0; + size_t LoadInstructions = 0; + size_t MemIntrinsics = 0; + size_t GlobalPointers = 0; + std::set AllocatedTypes; + std::set AllocaInstructions; + std::set RetResInstructions; public: /** @@ -138,14 +138,14 @@ class GeneralStatisticsAnalysis : public llvm::AnalysisInfoMixin { private: friend llvm::AnalysisInfoMixin; - static llvm::AnalysisKey Key; + static llvm::AnalysisKey Key; // NOLINT GeneralStatistics Stats; public: /// The pass itself stores the results. using Result = GeneralStatistics; - explicit GeneralStatisticsAnalysis(); + explicit GeneralStatisticsAnalysis() = default; GeneralStatistics run(llvm::Module &M, llvm::ModuleAnalysisManager &AM); }; diff --git a/include/phasar/PhasarLLVM/Passes/ValueAnnotationPass.h b/include/phasar/PhasarLLVM/Passes/ValueAnnotationPass.h index de34de3dc2..e748a00934 100644 --- a/include/phasar/PhasarLLVM/Passes/ValueAnnotationPass.h +++ b/include/phasar/PhasarLLVM/Passes/ValueAnnotationPass.h @@ -40,8 +40,8 @@ class ValueAnnotationPass : public llvm::AnalysisInfoMixin { private: friend llvm::AnalysisInfoMixin; - static llvm::AnalysisKey Key; - static size_t UniqueValueId; + static llvm::AnalysisKey Key; // NOLINT + static size_t UniqueValueId; // NOLINT public: explicit ValueAnnotationPass(); diff --git a/include/phasar/PhasarPass/Options.h b/include/phasar/PhasarPass/Options.h index 44723092a8..6265be8ec3 100644 --- a/include/phasar/PhasarPass/Options.h +++ b/include/phasar/PhasarPass/Options.h @@ -15,25 +15,25 @@ #include "llvm/Support/CommandLine.h" -extern llvm::cl::OptionCategory PhASARCategory; +extern llvm::cl::OptionCategory PhASARCategory; // NOLINT namespace psr { -extern std::string DataFlowAnalysis; +extern std::string DataFlowAnalysis; // NOLINT -extern std::string PointerAnalysis; +extern std::string PointerAnalysis; // NOLINT -extern std::string CallGraphAnalysis; +extern std::string CallGraphAnalysis; // NOLINT -extern std::vector EntryPoints; +extern std::vector EntryPoints; // NOLINT -extern std::string PammOutputFile; +extern std::string PammOutputFile; // NOLINT -extern bool PrintEdgeRecorder; +extern bool PrintEdgeRecorder; // NOLINT -extern bool InitLogger; +extern bool InitLogger; // NOLINT -extern bool DumpResults; +extern bool DumpResults; // NOLINT } // namespace psr diff --git a/include/phasar/PhasarPass/PhasarPass.h b/include/phasar/PhasarPass/PhasarPass.h index c3879ad031..7597c80edd 100644 --- a/include/phasar/PhasarPass/PhasarPass.h +++ b/include/phasar/PhasarPass/PhasarPass.h @@ -22,7 +22,7 @@ namespace psr { class PhasarPass : public llvm::ModulePass { public: - static char ID; + static inline char ID = 12; // NOLINT FIXME: make const when LLVM supports it explicit PhasarPass(); PhasarPass(const PhasarPass &) = delete; diff --git a/include/phasar/PhasarPass/PhasarPrinterPass.h b/include/phasar/PhasarPass/PhasarPrinterPass.h index 48182b340f..76baa2f9a6 100644 --- a/include/phasar/PhasarPass/PhasarPrinterPass.h +++ b/include/phasar/PhasarPass/PhasarPrinterPass.h @@ -21,7 +21,7 @@ namespace psr { class PhasarPrinterPass : public llvm::ModulePass { public: - static char ID; + static inline char ID = 12; // NOLINT FIXME: make const when LLVM supports it explicit PhasarPrinterPass(); PhasarPrinterPass(const PhasarPrinterPass &) = delete; diff --git a/lib/PhasarLLVM/Passes/ExampleModulePass.cpp b/lib/PhasarLLVM/Passes/ExampleModulePass.cpp index e17f419af9..572d88bb9a 100644 --- a/lib/PhasarLLVM/Passes/ExampleModulePass.cpp +++ b/lib/PhasarLLVM/Passes/ExampleModulePass.cpp @@ -18,12 +18,12 @@ using namespace psr; namespace psr { -llvm::AnalysisKey ExampleModulePass::Key; +llvm::AnalysisKey ExampleModulePass::Key; // NOLINT ExampleModulePass::ExampleModulePass() = default; llvm::PreservedAnalyses -ExampleModulePass::run(llvm::Module &M, llvm::ModuleAnalysisManager &MAM) { +ExampleModulePass::run(llvm::Module &/*M*/, llvm::ModuleAnalysisManager &/*MAM*/) { cout << "ExampleModulePass::run()\n"; return llvm::PreservedAnalyses::all(); } diff --git a/lib/PhasarLLVM/Passes/GeneralStatisticsAnalysis.cpp b/lib/PhasarLLVM/Passes/GeneralStatisticsAnalysis.cpp index 4e534bd88e..bf78a22219 100644 --- a/lib/PhasarLLVM/Passes/GeneralStatisticsAnalysis.cpp +++ b/lib/PhasarLLVM/Passes/GeneralStatisticsAnalysis.cpp @@ -35,32 +35,29 @@ using namespace psr; namespace psr { -llvm::AnalysisKey GeneralStatisticsAnalysis::Key; - -GeneralStatisticsAnalysis::GeneralStatisticsAnalysis() = default; - + llvm::AnalysisKey GeneralStatisticsAnalysis::Key; // NOLINT GeneralStatistics GeneralStatisticsAnalysis::run(llvm::Module &M, - llvm::ModuleAnalysisManager &AM) { + llvm::ModuleAnalysisManager &/*AM*/) { LOG_IF_ENABLE(BOOST_LOG_SEV(lg::get(), INFO) << "Running GeneralStatisticsAnalysis"); static const std::set MemAllocatingFunctions = { "operator new(unsigned long)", "operator new[](unsigned long)", "malloc", "calloc", "realloc"}; for (auto &F : M) { - ++Stats.functions; + ++Stats.Functions; for (auto &BB : F) { - ++Stats.basicblocks; + ++Stats.BasicBlocks; for (auto &I : BB) { // found one more instruction - ++Stats.instructions; + ++Stats.Instructions; // check for alloca instruction for possible types if (const llvm::AllocaInst *Alloc = llvm::dyn_cast(&I)) { - Stats.allocatedTypes.insert(Alloc->getAllocatedType()); + Stats.AllocatedTypes.insert(Alloc->getAllocatedType()); // do not add allocas from llvm internal functions - Stats.allocaInstructions.insert(&I); - ++Stats.allocationsites; + Stats.AllocaInstructions.insert(&I); + ++Stats.AllocationSites; } // check bitcast instructions for possible types else { for (auto *User : I.users()) { @@ -72,30 +69,30 @@ GeneralStatisticsAnalysis::run(llvm::Module &M, } // check for return or resume instructions if (llvm::isa(I) || llvm::isa(I)) { - Stats.retResInstructions.insert(&I); + Stats.RetResInstructions.insert(&I); } // check for store instructions if (llvm::isa(I)) { - ++Stats.storeInstructions; + ++Stats.StoreInstructions; } // check for load instructions if (llvm::isa(I)) { - ++Stats.loadInstructions; + ++Stats.LoadInstructions; } // check for llvm's memory intrinsics if (llvm::isa(I)) { - ++Stats.memIntrinsic; + ++Stats.MemIntrinsics; } // check for function calls if (llvm::isa(I) || llvm::isa(I)) { - ++Stats.callsites; + ++Stats.CallSites; const llvm::CallBase *CallSite = llvm::cast(&I); if (CallSite->getCalledFunction()) { if (MemAllocatingFunctions.count(llvm::demangle( CallSite->getCalledFunction()->getName().str()))) { // do not add allocas from llvm internal functions - Stats.allocaInstructions.insert(&I); - ++Stats.allocationsites; + Stats.AllocaInstructions.insert(&I); + ++Stats.AllocationSites; // check if an instance of a user-defined type is allocated on the // heap for (auto *User : I.users()) { @@ -113,7 +110,7 @@ GeneralStatisticsAnalysis::run(llvm::Module &M, if (CTor->getCalledFunction() && getNthFunctionArgument(CTor->getCalledFunction(), 0) ->getType() == Cast->getDestTy()) { - Stats.allocatedTypes.insert( + Stats.AllocatedTypes.insert( Cast->getDestTy()->getPointerElementType()); } } @@ -130,9 +127,9 @@ GeneralStatisticsAnalysis::run(llvm::Module &M, // check for global pointers for (auto &Global : M.globals()) { if (Global.getType()->isPointerTy()) { - ++Stats.globalPointers; + ++Stats.GlobalPointers; } - ++Stats.globals; + ++Stats.Globals; } // register stuff in PAMM // For performance reasons (and out of sheer convenience) we simply initialize @@ -163,29 +160,29 @@ GeneralStatisticsAnalysis::run(llvm::Module &M, << "GeneralStatisticsAnalysis summary for module: '" << M.getName().str() << "'"); LOG_IF_ENABLE(BOOST_LOG_SEV(lg::get(), INFO) - << "Instructions : " << Stats.instructions); + << "Instructions : " << Stats.Instructions); LOG_IF_ENABLE(BOOST_LOG_SEV(lg::get(), INFO) - << "Allocated Types : " << Stats.allocatedTypes.size()); + << "Allocated Types : " << Stats.AllocatedTypes.size()); LOG_IF_ENABLE(BOOST_LOG_SEV(lg::get(), INFO) - << "Allocation Sites : " << Stats.allocationsites); + << "Allocation Sites : " << Stats.AllocationSites); LOG_IF_ENABLE(BOOST_LOG_SEV(lg::get(), INFO) - << "Basic Blocks : " << Stats.basicblocks); + << "Basic Blocks : " << Stats.BasicBlocks); LOG_IF_ENABLE(BOOST_LOG_SEV(lg::get(), INFO) - << "Calls Sites : " << Stats.callsites); + << "Calls Sites : " << Stats.CallSites); LOG_IF_ENABLE(BOOST_LOG_SEV(lg::get(), INFO) - << "Functions : " << Stats.functions); + << "Functions : " << Stats.Functions); LOG_IF_ENABLE(BOOST_LOG_SEV(lg::get(), INFO) - << "Globals : " << Stats.globals); + << "Globals : " << Stats.Globals); LOG_IF_ENABLE(BOOST_LOG_SEV(lg::get(), INFO) - << "Global Pointer : " << Stats.globalPointers); + << "Global Pointer : " << Stats.GlobalPointers); LOG_IF_ENABLE(BOOST_LOG_SEV(lg::get(), INFO) - << "Memory Intrinsics : " << Stats.memIntrinsic); + << "Memory Intrinsics : " << Stats.MemIntrinsics); LOG_IF_ENABLE(BOOST_LOG_SEV(lg::get(), INFO) - << "Store Instructions : " << Stats.storeInstructions); + << "Store Instructions : " << Stats.StoreInstructions); LOG_IF_ENABLE(BOOST_LOG_SEV(lg::get(), INFO) << ' '); LOG_IF_ENABLE(BOOST_LOG_SEV(lg::get(), INFO) - << "Allocated Types << " << Stats.allocatedTypes.size()); - for (const auto *Type : Stats.allocatedTypes) { + << "Allocated Types << " << Stats.AllocatedTypes.size()); + for (const auto *Type : Stats.AllocatedTypes) { std::string TypeStr; llvm::raw_string_ostream Rso(TypeStr); Type->print(Rso); @@ -196,38 +193,38 @@ GeneralStatisticsAnalysis::run(llvm::Module &M, return Stats; } -size_t GeneralStatistics::getAllocationsites() const { return allocationsites; } +size_t GeneralStatistics::getAllocationsites() const { return AllocationSites; } -size_t GeneralStatistics::getFunctioncalls() const { return callsites; } +size_t GeneralStatistics::getFunctioncalls() const { return CallSites; } -size_t GeneralStatistics::getInstructions() const { return instructions; } +size_t GeneralStatistics::getInstructions() const { return Instructions; } -size_t GeneralStatistics::getGlobalPointers() const { return globalPointers; } +size_t GeneralStatistics::getGlobalPointers() const { return GlobalPointers; } -size_t GeneralStatistics::getBasicBlocks() const { return basicblocks; } +size_t GeneralStatistics::getBasicBlocks() const { return BasicBlocks; } -size_t GeneralStatistics::getFunctions() const { return functions; } +size_t GeneralStatistics::getFunctions() const { return Functions; } -size_t GeneralStatistics::getGlobals() const { return globals; } +size_t GeneralStatistics::getGlobals() const { return Globals; } -size_t GeneralStatistics::getMemoryIntrinsics() const { return memIntrinsic; } +size_t GeneralStatistics::getMemoryIntrinsics() const { return MemIntrinsics; } size_t GeneralStatistics::getStoreInstructions() const { - return storeInstructions; + return StoreInstructions; } set GeneralStatistics::getAllocatedTypes() const { - return allocatedTypes; + return AllocatedTypes; } set GeneralStatistics::getAllocaInstructions() const { - return allocaInstructions; + return AllocaInstructions; } set GeneralStatistics::getRetResInstructions() const { - return retResInstructions; + return RetResInstructions; } } // namespace psr diff --git a/lib/PhasarLLVM/Passes/ValueAnnotationPass.cpp b/lib/PhasarLLVM/Passes/ValueAnnotationPass.cpp index f21dd79de1..72e8ffc685 100644 --- a/lib/PhasarLLVM/Passes/ValueAnnotationPass.cpp +++ b/lib/PhasarLLVM/Passes/ValueAnnotationPass.cpp @@ -35,14 +35,14 @@ using namespace psr; namespace psr { -llvm::AnalysisKey ValueAnnotationPass::Key; +llvm::AnalysisKey ValueAnnotationPass::Key; // NOLINT -size_t ValueAnnotationPass::UniqueValueId = 0; +size_t ValueAnnotationPass::UniqueValueId = 0; // NOLINT ValueAnnotationPass::ValueAnnotationPass() = default; llvm::PreservedAnalyses -ValueAnnotationPass::run(llvm::Module &M, llvm::ModuleAnalysisManager &AM) { +ValueAnnotationPass::run(llvm::Module &M, llvm::ModuleAnalysisManager &/*AM*/) { LOG_IF_ENABLE(BOOST_LOG_SEV(lg::get(), INFO) << "Running ValueAnnotationPass"); auto &Context = M.getContext(); diff --git a/lib/PhasarPass/PhasarPass.cpp b/lib/PhasarPass/PhasarPass.cpp index 7961c40890..9c6ccd10ab 100644 --- a/lib/PhasarPass/PhasarPass.cpp +++ b/lib/PhasarPass/PhasarPass.cpp @@ -48,8 +48,6 @@ namespace psr { -char PhasarPass::ID = 12; - PhasarPass::PhasarPass() : llvm::ModulePass(ID) {} llvm::StringRef PhasarPass::getPassName() const { return "PhasarPass"; } @@ -181,7 +179,7 @@ bool PhasarPass::runOnModule(llvm::Module &M) { return false; } -bool PhasarPass::doInitialization(llvm::Module &M) { +bool PhasarPass::doInitialization(llvm::Module & /*M*/) { llvm::outs() << "PhasarPass::doInitialization()\n"; initializeLogger(InitLogger); // check the user's parameters @@ -198,7 +196,7 @@ bool PhasarPass::doInitialization(llvm::Module &M) { return false; } -bool PhasarPass::doFinalization(llvm::Module &M) { +bool PhasarPass::doFinalization(llvm::Module & /*M*/) { llvm::outs() << "PhasarPass::doFinalization()\n"; return false; } @@ -207,12 +205,12 @@ void PhasarPass::getAnalysisUsage(llvm::AnalysisUsage &AU) const {} void PhasarPass::releaseMemory() {} -void PhasarPass::print(llvm::raw_ostream &O, const llvm::Module *M) const { +void PhasarPass::print(llvm::raw_ostream &O, const llvm::Module * /*M*/) const { O << "I am a PhasarPass Analysis Result ;-)\n"; } -static llvm::RegisterPass Phasar("phasar", "PhASAR Pass", - false /* Only looks at CFG */, - false /* Analysis Pass */); +static const llvm::RegisterPass + Phasar("phasar", "PhASAR Pass", false /* Only looks at CFG */, + false /* Analysis Pass */); } // namespace psr diff --git a/lib/PhasarPass/PhasarPrinterPass.cpp b/lib/PhasarPass/PhasarPrinterPass.cpp index 4045090b3d..c41e4d2269 100644 --- a/lib/PhasarPass/PhasarPrinterPass.cpp +++ b/lib/PhasarPass/PhasarPrinterPass.cpp @@ -17,8 +17,6 @@ namespace psr { -char PhasarPrinterPass::ID = 12; - PhasarPrinterPass::PhasarPrinterPass() : llvm::ModulePass(ID) {} llvm::StringRef PhasarPrinterPass::getPassName() const { @@ -32,12 +30,12 @@ bool PhasarPrinterPass::runOnModule(llvm::Module &M) { return false; } -bool PhasarPrinterPass::doInitialization(llvm::Module &M) { +bool PhasarPrinterPass::doInitialization(llvm::Module & /*M*/) { llvm::outs() << "PhasarPrinterPass::doInitialization()\n"; return false; } -bool PhasarPrinterPass::doFinalization(llvm::Module &M) { +bool PhasarPrinterPass::doFinalization(llvm::Module & /*M*/) { llvm::outs() << "PhasarPrinterPass::doFinalization()\n"; return false; } @@ -50,7 +48,7 @@ void PhasarPrinterPass::getAnalysisUsage(llvm::AnalysisUsage &AU) const { void PhasarPrinterPass::releaseMemory() {} static llvm::RegisterPass - Phasar("phasar-printer", "PhASAR Printer Pass", + Phasar("phasar-printer", "PhASAR Printer Pass", // NOLINT false /* Only looks at CFG */, false /* Analysis Pass */); } // namespace psr diff --git a/lib/PhasarPass/RegisterPasses.cpp b/lib/PhasarPass/RegisterPasses.cpp index 5861d67495..1700385057 100644 --- a/lib/PhasarPass/RegisterPasses.cpp +++ b/lib/PhasarPass/RegisterPasses.cpp @@ -16,57 +16,57 @@ using namespace psr; using namespace std; -llvm::cl::OptionCategory PhASARCategory("PhASAR Options", +llvm::cl::OptionCategory PhASARCategory("PhASAR Options", // NOLINT "Configure the PhASAR framework"); -std::string psr::DataFlowAnalysis; -static llvm::cl::opt SetDataFlowAnalysis( +std::string psr::DataFlowAnalysis; // NOLINT +static llvm::cl::opt SetDataFlowAnalysis( // NOLINT "data-flow", llvm::cl::desc("Set the data-flow analysis to be run"), llvm::cl::location(DataFlowAnalysis), llvm::cl::init("ifds-solvertest"), llvm::cl::cat(PhASARCategory)); -std::string psr::PointerAnalysis; -static llvm::cl::opt SetPointerAnalysis( +std::string psr::PointerAnalysis; // NOLINT +static llvm::cl::opt SetPointerAnalysis( // NOLINT "pointer", llvm::cl::desc("Set the points-to analysis to be run"), llvm::cl::location(PointerAnalysis), llvm::cl::init("cflsteens"), llvm::cl::cat(PhASARCategory)); -std::string psr::CallGraphAnalysis; -static llvm::cl::opt SetCallGraphAnalysis( +std::string psr::CallGraphAnalysis; // NOLINT +static llvm::cl::opt SetCallGraphAnalysis( // NOLINT "call-graph", llvm::cl::desc("Set the call-graph algorithm to be run"), llvm::cl::location(CallGraphAnalysis), llvm::cl::init("OTF"), llvm::cl::cat(PhASARCategory)); -std::vector psr::EntryPoints; +std::vector psr::EntryPoints; // NOLINT static llvm::cl::list> - SetEntryPoints("entry-points", + SetEntryPoints("entry-points", // NOLINT llvm::cl::desc("Set the analysis's entry points"), llvm::cl::location(EntryPoints), llvm::cl::cat(PhASARCategory), llvm::cl::CommaSeparated); -std::string psr::PammOutputFile; -static llvm::cl::opt SetPammOutputFile( +std::string psr::PammOutputFile; // NOLINT +static llvm::cl::opt SetPammOutputFile( // NOLINT "pamm-out", llvm::cl::desc("Filename for PAMM's gathered data"), llvm::cl::location(PammOutputFile), llvm::cl::init("PAMM_data.json"), llvm::cl::cat(PhASARCategory)); -bool psr::PrintEdgeRecorder; +bool psr::PrintEdgeRecorder; // NOLINT static llvm::cl::opt - SetPrintEdgeRecorder("printedgerec", + SetPrintEdgeRecorder("printedgerec", // NOLINT llvm::cl::desc("Print the IFDS/IDE edge recorder"), llvm::cl::location(PrintEdgeRecorder), llvm::cl::init(false), llvm::cl::cat(PhASARCategory)); -bool psr::InitLogger; -static llvm::cl::opt SetInitializeLogger( +bool psr::InitLogger; // NOLINT +static llvm::cl::opt SetInitializeLogger( // NOLINT "init-logger", llvm::cl::desc("Initialize the logger (caution: very expensive)"), llvm::cl::location(InitLogger), llvm::cl::init(false), llvm::cl::cat(PhASARCategory)); -bool psr::DumpResults; +bool psr::DumpResults; // NOLINT static llvm::cl::opt - SetDumpResults("dump-results", + SetDumpResults("dump-results", // NOLINT llvm::cl::desc("Dump the analysis results to stdout"), llvm::cl::location(DumpResults), llvm::cl::init(true), llvm::cl::cat(PhASARCategory)); From f55137f0e18e664d708ff201d4d34636aedb2f1e Mon Sep 17 00:00:00 2001 From: Martin Mory Date: Mon, 10 Jan 2022 17:08:50 +0100 Subject: [PATCH 2/8] Update lib/PhasarLLVM/Passes/ExampleModulePass.cpp Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- lib/PhasarLLVM/Passes/ExampleModulePass.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/PhasarLLVM/Passes/ExampleModulePass.cpp b/lib/PhasarLLVM/Passes/ExampleModulePass.cpp index 572d88bb9a..c97852a355 100644 --- a/lib/PhasarLLVM/Passes/ExampleModulePass.cpp +++ b/lib/PhasarLLVM/Passes/ExampleModulePass.cpp @@ -23,7 +23,8 @@ llvm::AnalysisKey ExampleModulePass::Key; // NOLINT ExampleModulePass::ExampleModulePass() = default; llvm::PreservedAnalyses -ExampleModulePass::run(llvm::Module &/*M*/, llvm::ModuleAnalysisManager &/*MAM*/) { +ExampleModulePass::run(llvm::Module & /*M*/, + llvm::ModuleAnalysisManager & /*MAM*/) { cout << "ExampleModulePass::run()\n"; return llvm::PreservedAnalyses::all(); } From febe5ce1b55d9b7d8a3d5ad30d4d2baf7551cdeb Mon Sep 17 00:00:00 2001 From: Martin Mory Date: Mon, 10 Jan 2022 17:08:54 +0100 Subject: [PATCH 3/8] Update lib/PhasarLLVM/Passes/GeneralStatisticsAnalysis.cpp Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- lib/PhasarLLVM/Passes/GeneralStatisticsAnalysis.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/PhasarLLVM/Passes/GeneralStatisticsAnalysis.cpp b/lib/PhasarLLVM/Passes/GeneralStatisticsAnalysis.cpp index bf78a22219..300ded8cef 100644 --- a/lib/PhasarLLVM/Passes/GeneralStatisticsAnalysis.cpp +++ b/lib/PhasarLLVM/Passes/GeneralStatisticsAnalysis.cpp @@ -35,7 +35,7 @@ using namespace psr; namespace psr { - llvm::AnalysisKey GeneralStatisticsAnalysis::Key; // NOLINT +llvm::AnalysisKey GeneralStatisticsAnalysis::Key; // NOLINT GeneralStatistics GeneralStatisticsAnalysis::run(llvm::Module &M, llvm::ModuleAnalysisManager &/*AM*/) { From f9db949f50fb05d22cd760b8f5534a9f7013db0a Mon Sep 17 00:00:00 2001 From: Martin Mory Date: Mon, 10 Jan 2022 17:08:58 +0100 Subject: [PATCH 4/8] Update lib/PhasarLLVM/Passes/GeneralStatisticsAnalysis.cpp Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- lib/PhasarLLVM/Passes/GeneralStatisticsAnalysis.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/PhasarLLVM/Passes/GeneralStatisticsAnalysis.cpp b/lib/PhasarLLVM/Passes/GeneralStatisticsAnalysis.cpp index 300ded8cef..274fda8feb 100644 --- a/lib/PhasarLLVM/Passes/GeneralStatisticsAnalysis.cpp +++ b/lib/PhasarLLVM/Passes/GeneralStatisticsAnalysis.cpp @@ -38,7 +38,7 @@ namespace psr { llvm::AnalysisKey GeneralStatisticsAnalysis::Key; // NOLINT GeneralStatistics GeneralStatisticsAnalysis::run(llvm::Module &M, - llvm::ModuleAnalysisManager &/*AM*/) { + llvm::ModuleAnalysisManager & /*AM*/) { LOG_IF_ENABLE(BOOST_LOG_SEV(lg::get(), INFO) << "Running GeneralStatisticsAnalysis"); static const std::set MemAllocatingFunctions = { From 1dd6f0976f4688136c590a906882a4ad80841302 Mon Sep 17 00:00:00 2001 From: Martin Mory Date: Mon, 10 Jan 2022 17:09:03 +0100 Subject: [PATCH 5/8] Update lib/PhasarLLVM/Passes/ValueAnnotationPass.cpp Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- lib/PhasarLLVM/Passes/ValueAnnotationPass.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/PhasarLLVM/Passes/ValueAnnotationPass.cpp b/lib/PhasarLLVM/Passes/ValueAnnotationPass.cpp index 72e8ffc685..41caddcf25 100644 --- a/lib/PhasarLLVM/Passes/ValueAnnotationPass.cpp +++ b/lib/PhasarLLVM/Passes/ValueAnnotationPass.cpp @@ -42,7 +42,8 @@ size_t ValueAnnotationPass::UniqueValueId = 0; // NOLINT ValueAnnotationPass::ValueAnnotationPass() = default; llvm::PreservedAnalyses -ValueAnnotationPass::run(llvm::Module &M, llvm::ModuleAnalysisManager &/*AM*/) { +ValueAnnotationPass::run(llvm::Module &M, + llvm::ModuleAnalysisManager & /*AM*/) { LOG_IF_ENABLE(BOOST_LOG_SEV(lg::get(), INFO) << "Running ValueAnnotationPass"); auto &Context = M.getContext(); From 25754a09c7134f1ab1d3220846183863685bdd9d Mon Sep 17 00:00:00 2001 From: Philipp Schubert Date: Tue, 11 Jan 2022 16:21:26 +0100 Subject: [PATCH 6/8] minor --- include/phasar/PhasarLLVM/Passes/ExampleModulePass.h | 2 +- include/phasar/PhasarLLVM/Passes/GeneralStatisticsAnalysis.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/phasar/PhasarLLVM/Passes/ExampleModulePass.h b/include/phasar/PhasarLLVM/Passes/ExampleModulePass.h index 54e97ed4df..68f1053dd3 100644 --- a/include/phasar/PhasarLLVM/Passes/ExampleModulePass.h +++ b/include/phasar/PhasarLLVM/Passes/ExampleModulePass.h @@ -21,7 +21,7 @@ namespace psr { class ExampleModulePass : public llvm::AnalysisInfoMixin { private: friend llvm::AnalysisInfoMixin; - static llvm::AnalysisKey Key; // NOLINT + static llvm::AnalysisKey Key; public: explicit ExampleModulePass(); diff --git a/include/phasar/PhasarLLVM/Passes/GeneralStatisticsAnalysis.h b/include/phasar/PhasarLLVM/Passes/GeneralStatisticsAnalysis.h index 985f4d8f09..25b71b3de1 100644 --- a/include/phasar/PhasarLLVM/Passes/GeneralStatisticsAnalysis.h +++ b/include/phasar/PhasarLLVM/Passes/GeneralStatisticsAnalysis.h @@ -138,7 +138,7 @@ class GeneralStatisticsAnalysis : public llvm::AnalysisInfoMixin { private: friend llvm::AnalysisInfoMixin; - static llvm::AnalysisKey Key; // NOLINT + static llvm::AnalysisKey Key; GeneralStatistics Stats; public: From 292546d209cd24763fa8fdcb8f28d03d58cffcde Mon Sep 17 00:00:00 2001 From: Philipp Schubert Date: Tue, 11 Jan 2022 16:23:07 +0100 Subject: [PATCH 7/8] remove some more nolints --- lib/PhasarPass/RegisterPasses.cpp | 34 +++++++++++++++---------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/lib/PhasarPass/RegisterPasses.cpp b/lib/PhasarPass/RegisterPasses.cpp index 1700385057..5861d67495 100644 --- a/lib/PhasarPass/RegisterPasses.cpp +++ b/lib/PhasarPass/RegisterPasses.cpp @@ -16,57 +16,57 @@ using namespace psr; using namespace std; -llvm::cl::OptionCategory PhASARCategory("PhASAR Options", // NOLINT +llvm::cl::OptionCategory PhASARCategory("PhASAR Options", "Configure the PhASAR framework"); -std::string psr::DataFlowAnalysis; // NOLINT -static llvm::cl::opt SetDataFlowAnalysis( // NOLINT +std::string psr::DataFlowAnalysis; +static llvm::cl::opt SetDataFlowAnalysis( "data-flow", llvm::cl::desc("Set the data-flow analysis to be run"), llvm::cl::location(DataFlowAnalysis), llvm::cl::init("ifds-solvertest"), llvm::cl::cat(PhASARCategory)); -std::string psr::PointerAnalysis; // NOLINT -static llvm::cl::opt SetPointerAnalysis( // NOLINT +std::string psr::PointerAnalysis; +static llvm::cl::opt SetPointerAnalysis( "pointer", llvm::cl::desc("Set the points-to analysis to be run"), llvm::cl::location(PointerAnalysis), llvm::cl::init("cflsteens"), llvm::cl::cat(PhASARCategory)); -std::string psr::CallGraphAnalysis; // NOLINT -static llvm::cl::opt SetCallGraphAnalysis( // NOLINT +std::string psr::CallGraphAnalysis; +static llvm::cl::opt SetCallGraphAnalysis( "call-graph", llvm::cl::desc("Set the call-graph algorithm to be run"), llvm::cl::location(CallGraphAnalysis), llvm::cl::init("OTF"), llvm::cl::cat(PhASARCategory)); -std::vector psr::EntryPoints; // NOLINT +std::vector psr::EntryPoints; static llvm::cl::list> - SetEntryPoints("entry-points", // NOLINT + SetEntryPoints("entry-points", llvm::cl::desc("Set the analysis's entry points"), llvm::cl::location(EntryPoints), llvm::cl::cat(PhASARCategory), llvm::cl::CommaSeparated); -std::string psr::PammOutputFile; // NOLINT -static llvm::cl::opt SetPammOutputFile( // NOLINT +std::string psr::PammOutputFile; +static llvm::cl::opt SetPammOutputFile( "pamm-out", llvm::cl::desc("Filename for PAMM's gathered data"), llvm::cl::location(PammOutputFile), llvm::cl::init("PAMM_data.json"), llvm::cl::cat(PhASARCategory)); -bool psr::PrintEdgeRecorder; // NOLINT +bool psr::PrintEdgeRecorder; static llvm::cl::opt - SetPrintEdgeRecorder("printedgerec", // NOLINT + SetPrintEdgeRecorder("printedgerec", llvm::cl::desc("Print the IFDS/IDE edge recorder"), llvm::cl::location(PrintEdgeRecorder), llvm::cl::init(false), llvm::cl::cat(PhASARCategory)); -bool psr::InitLogger; // NOLINT -static llvm::cl::opt SetInitializeLogger( // NOLINT +bool psr::InitLogger; +static llvm::cl::opt SetInitializeLogger( "init-logger", llvm::cl::desc("Initialize the logger (caution: very expensive)"), llvm::cl::location(InitLogger), llvm::cl::init(false), llvm::cl::cat(PhASARCategory)); -bool psr::DumpResults; // NOLINT +bool psr::DumpResults; static llvm::cl::opt - SetDumpResults("dump-results", // NOLINT + SetDumpResults("dump-results", llvm::cl::desc("Dump the analysis results to stdout"), llvm::cl::location(DumpResults), llvm::cl::init(true), llvm::cl::cat(PhASARCategory)); From dbea6719da85e71b858513e818c18af3785c01a8 Mon Sep 17 00:00:00 2001 From: Philipp Schubert Date: Tue, 11 Jan 2022 16:29:31 +0100 Subject: [PATCH 8/8] remove some more nolints --- .../PhasarLLVM/Passes/ValueAnnotationPass.h | 4 ++-- include/phasar/PhasarPass/Options.h | 18 +++++++++--------- include/phasar/PhasarPass/PhasarPass.h | 2 +- lib/PhasarLLVM/Passes/ExampleModulePass.cpp | 2 +- lib/PhasarLLVM/Passes/ValueAnnotationPass.cpp | 4 ++-- lib/PhasarPass/PhasarPrinterPass.cpp | 2 +- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/include/phasar/PhasarLLVM/Passes/ValueAnnotationPass.h b/include/phasar/PhasarLLVM/Passes/ValueAnnotationPass.h index e748a00934..de34de3dc2 100644 --- a/include/phasar/PhasarLLVM/Passes/ValueAnnotationPass.h +++ b/include/phasar/PhasarLLVM/Passes/ValueAnnotationPass.h @@ -40,8 +40,8 @@ class ValueAnnotationPass : public llvm::AnalysisInfoMixin { private: friend llvm::AnalysisInfoMixin; - static llvm::AnalysisKey Key; // NOLINT - static size_t UniqueValueId; // NOLINT + static llvm::AnalysisKey Key; + static size_t UniqueValueId; public: explicit ValueAnnotationPass(); diff --git a/include/phasar/PhasarPass/Options.h b/include/phasar/PhasarPass/Options.h index 6265be8ec3..44723092a8 100644 --- a/include/phasar/PhasarPass/Options.h +++ b/include/phasar/PhasarPass/Options.h @@ -15,25 +15,25 @@ #include "llvm/Support/CommandLine.h" -extern llvm::cl::OptionCategory PhASARCategory; // NOLINT +extern llvm::cl::OptionCategory PhASARCategory; namespace psr { -extern std::string DataFlowAnalysis; // NOLINT +extern std::string DataFlowAnalysis; -extern std::string PointerAnalysis; // NOLINT +extern std::string PointerAnalysis; -extern std::string CallGraphAnalysis; // NOLINT +extern std::string CallGraphAnalysis; -extern std::vector EntryPoints; // NOLINT +extern std::vector EntryPoints; -extern std::string PammOutputFile; // NOLINT +extern std::string PammOutputFile; -extern bool PrintEdgeRecorder; // NOLINT +extern bool PrintEdgeRecorder; -extern bool InitLogger; // NOLINT +extern bool InitLogger; -extern bool DumpResults; // NOLINT +extern bool DumpResults; } // namespace psr diff --git a/include/phasar/PhasarPass/PhasarPass.h b/include/phasar/PhasarPass/PhasarPass.h index 7597c80edd..d8272b98c3 100644 --- a/include/phasar/PhasarPass/PhasarPass.h +++ b/include/phasar/PhasarPass/PhasarPass.h @@ -22,7 +22,7 @@ namespace psr { class PhasarPass : public llvm::ModulePass { public: - static inline char ID = 12; // NOLINT FIXME: make const when LLVM supports it + static inline char ID = 12; explicit PhasarPass(); PhasarPass(const PhasarPass &) = delete; diff --git a/lib/PhasarLLVM/Passes/ExampleModulePass.cpp b/lib/PhasarLLVM/Passes/ExampleModulePass.cpp index c97852a355..69cfadb498 100644 --- a/lib/PhasarLLVM/Passes/ExampleModulePass.cpp +++ b/lib/PhasarLLVM/Passes/ExampleModulePass.cpp @@ -18,7 +18,7 @@ using namespace psr; namespace psr { -llvm::AnalysisKey ExampleModulePass::Key; // NOLINT +llvm::AnalysisKey ExampleModulePass::Key; ExampleModulePass::ExampleModulePass() = default; diff --git a/lib/PhasarLLVM/Passes/ValueAnnotationPass.cpp b/lib/PhasarLLVM/Passes/ValueAnnotationPass.cpp index 41caddcf25..ec5221facf 100644 --- a/lib/PhasarLLVM/Passes/ValueAnnotationPass.cpp +++ b/lib/PhasarLLVM/Passes/ValueAnnotationPass.cpp @@ -35,9 +35,9 @@ using namespace psr; namespace psr { -llvm::AnalysisKey ValueAnnotationPass::Key; // NOLINT +llvm::AnalysisKey ValueAnnotationPass::Key; -size_t ValueAnnotationPass::UniqueValueId = 0; // NOLINT +size_t ValueAnnotationPass::UniqueValueId = 0; ValueAnnotationPass::ValueAnnotationPass() = default; diff --git a/lib/PhasarPass/PhasarPrinterPass.cpp b/lib/PhasarPass/PhasarPrinterPass.cpp index c41e4d2269..2ee495bb31 100644 --- a/lib/PhasarPass/PhasarPrinterPass.cpp +++ b/lib/PhasarPass/PhasarPrinterPass.cpp @@ -48,7 +48,7 @@ void PhasarPrinterPass::getAnalysisUsage(llvm::AnalysisUsage &AU) const { void PhasarPrinterPass::releaseMemory() {} static llvm::RegisterPass - Phasar("phasar-printer", "PhASAR Printer Pass", // NOLINT + Phasar("phasar-printer", "PhASAR Printer Pass", false /* Only looks at CFG */, false /* Analysis Pass */); } // namespace psr