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

Method mergeRDNode

lib/rootdefanalysis/RDAnalyzer.cpp:937–957  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

935}
936
937void RDAnalyzer::mergeRDNode(std::set<RDNode> &Dst, const RDNode &Src) const {
938 auto Acc = Dst.find(Src);
939 if (Acc == Dst.end()) {
940 Dst.insert(Src);
941 return;
942 }
943
944 auto &Node = *const_cast<RDNode *>(&*Acc);
945 auto &SrcFUs = Src.getFirstUses();
946
947 if (SrcFUs.size() == 0) {
948 if (Node.getFirstUses().size() > 0) {
949 Node.addFirstUse(RDArgIndex());
950 }
951 return;
952 }
953
954 for (const auto &FirstUse : Src.getFirstUses()) {
955 Node.addFirstUse(FirstUse);
956 }
957}
958
959} // end namespace ftg

Callers

nothing calls this directly

Calls 5

RDArgIndexClass · 0.85
endMethod · 0.80
sizeMethod · 0.80
addFirstUseMethod · 0.80
findMethod · 0.45

Tested by

no test coverage detected