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

Function collectDevirtCallBases

lib/indcallsolver/TestTypeVirtSolverHandler.cpp:23–41  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

21};
22
23void collectDevirtCallBases(std::vector<DevirtCallBase> &Bases, const Value &V,
24 uint64_t Offset) {
25 for (const Use &U : V.uses()) {
26 const auto *User = U.getUser();
27 if (!User)
28 continue;
29
30 if (isa<BitCastInst>(User))
31 return collectDevirtCallBases(Bases, *User, Offset);
32
33 if (const auto *CB = dyn_cast<CallBase>(User)) {
34 if (CB->getCalledFunction())
35 continue;
36
37 Bases.emplace_back(CB->getCalledOperand(), Offset);
38 return;
39 }
40 }
41} // namespace
42
43void collectDevirtCallBases(std::vector<DevirtCallBase> &Bases, const Value &V,
44 uint64_t Offset, const Module &M) {

Callers 1

collectMethod · 0.85

Calls 1

getCalledFunctionMethod · 0.80

Tested by

no test coverage detected