MCPcopy Create free account
hub / github.com/Samsung/UTopia / ArrayAnalyzer

Method ArrayAnalyzer

lib/propanalysis/ArrayAnalyzer.cpp:13–37  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

11namespace ftg {
12
13ArrayAnalyzer::ArrayAnalyzer(IndCallSolverMgr *Solver,
14 std::vector<const llvm::Function *> Funcs,
15 llvm::FunctionAnalysisManager &FAM,
16 const ArrayAnalysisReport *PreReport)
17 : ArgFlowAnalyzer(Solver, Funcs), FAM(FAM),
18 Report(std::make_unique<ArrayAnalysisReport>()) {
19 if (PreReport) {
20 for (const auto &Iter : PreReport->get())
21 Report->set(Iter.first, Iter.second);
22 }
23
24 if (Funcs.size() == 0)
25 return;
26
27 const auto *F = Funcs[0];
28 if (!F)
29 return;
30
31 const auto *M = F->getParent();
32 if (!M)
33 return;
34
35 updateDefault(*M);
36 analyze(Funcs);
37}
38
39std::unique_ptr<AnalyzerReport> ArrayAnalyzer::getReport() {
40 return std::move(Report);

Callers

nothing calls this directly

Calls 3

sizeMethod · 0.80
getMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected