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

Class ArgFlowAnalyzer

include/ftg/propanalysis/ArgFlowAnalyzer.h:10–29  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8namespace ftg {
9
10class ArgFlowAnalyzer : public PropAnalyzer {
11
12public:
13 ArgFlowAnalyzer(IndCallSolverMgr *Solver,
14 const std::vector<const llvm::Function *> &Funcs);
15 void analyze(const llvm::Argument &A) override;
16 const std::map<llvm::Argument *, std::shared_ptr<ArgFlow>>
17 getArgFlowMap() const;
18
19protected:
20 IndCallSolverMgr *Solver;
21 std::map<llvm::Argument *, std::shared_ptr<ArgFlow>> ArgFlowMap;
22
23 void analyze(const std::vector<const llvm::Function *> &Funcs);
24 virtual void analyzeProperty(llvm::Argument &A) = 0;
25 llvm::ArrayType *getAsArrayType(llvm::Value &V) const;
26 llvm::StructType *getAsStructType(llvm::Value &V) const;
27 ArgFlow &getOrCreateArgFlow(llvm::Argument &A);
28 bool mayThrow(const llvm::BasicBlock &BB) const;
29};
30
31} // namespace ftg
32

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected