| 935 | } |
| 936 | |
| 937 | void 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 |
nothing calls this directly
no test coverage detected