| 97 | } |
| 98 | |
| 99 | void RDNode::visit(const RDTarget &T, const Instruction &I) { |
| 100 | const auto *F = I.getFunction(); |
| 101 | assert(F && "Unexpected Program State"); |
| 102 | |
| 103 | auto Iter = Visit.find(F); |
| 104 | if (Iter != Visit.end()) { |
| 105 | if (!Iter->second.emplace(T, I).second) { |
| 106 | assert(false && "Unexpected Program State"); |
| 107 | } |
| 108 | return; |
| 109 | } |
| 110 | |
| 111 | std::set<RDVisitNode> VisitNodes; |
| 112 | VisitNodes.emplace(T, I); |
| 113 | Visit.emplace(F, VisitNodes); |
| 114 | } |
| 115 | |
| 116 | void RDNode::addFirstUse(llvm::CallBase &CB, int ArgNo) { |
| 117 |
no test coverage detected