| 7 | namespace ftg { |
| 8 | |
| 9 | LoopAnalyzer::LoopAnalyzer(IndCallSolverMgr *Solver, |
| 10 | std::vector<const llvm::Function *> Funcs, |
| 11 | llvm::FunctionAnalysisManager &FAM, |
| 12 | const LoopAnalysisReport *PreReport) |
| 13 | : ArgFlowAnalyzer(Solver, Funcs), FAM(FAM) { |
| 14 | if (PreReport) { |
| 15 | for (const auto &Iter : PreReport->get()) |
| 16 | Report.set(Iter.first, Iter.second); |
| 17 | } |
| 18 | analyze(Funcs); |
| 19 | } |
| 20 | |
| 21 | std::unique_ptr<AnalyzerReport> LoopAnalyzer::getReport() { |
| 22 | return std::make_unique<LoopAnalysisReport>(Report); |