| 8 | |
| 9 | protected: |
| 10 | std::unique_ptr<ArrayAnalyzer> |
| 11 | analyze(IRAccessHelper &IRAccess, const std::vector<std::string> &FuncNames, |
| 12 | const ArrayAnalysisReport *PreReport = nullptr) { |
| 13 | std::vector<const llvm::Function *> Funcs; |
| 14 | for (const auto &FuncName : FuncNames) { |
| 15 | const auto *Func = IRAccess.getFunction(FuncName); |
| 16 | if (!Func) |
| 17 | continue; |
| 18 | |
| 19 | Funcs.push_back(Func); |
| 20 | } |
| 21 | |
| 22 | IndCallSolverMgr Solver; |
| 23 | return std::make_unique<ArrayAnalyzer>(&Solver, Funcs, FAM, PreReport); |
| 24 | } |
| 25 | |
| 26 | bool checkTrue(int Answer, const ArrayAnalysisReport &Report, |
| 27 | IRAccessHelper &IRAccess, std::string FuncName, |
nothing calls this directly
no test coverage detected