Lines Matching defs:VN
138 VNType VN;
143 // The instruction (VN) which uses the values flowing out of CHI.
146 bool operator==(const CHIArg &A) const { return VN == A.VN; }
166 void insert(Instruction *I, GVNPass::ValueTable &VN) {
168 unsigned V = VN.lookupOrAdd(I);
181 void insert(LoadInst *Load, GVNPass::ValueTable &VN) {
183 unsigned V = VN.lookupOrAdd(Load->getPointerOperand());
200 void insert(StoreInst *Store, GVNPass::ValueTable &VN) {
206 VNtoStores[{VN.lookupOrAdd(Ptr), VN.lookupOrAdd(Val)}].push_back(Store);
220 void insert(CallInst *Call, GVNPass::ValueTable &VN) {
224 unsigned V = VN.lookupOrAdd(Call);
263 GVNPass::ValueTable VN;
404 // - Sort VNs according to their rank, and start with lowest ranked VN
405 // - Take a VN and for each instruction with same VN
420 const VNType &VN = R;
439 InValue[V[i]->getParent()].push_back(std::make_pair(VN, V[i]));
441 // Insert empty CHI node for this VN. This is used to factor out
443 CHIArg EmptyChi = {VN, nullptr, nullptr};
508 VN.setDomTree(DT);
509 VN.setAliasAnalysis(AA);
510 VN.setMemDep(MD);
523 // FIXME: use lazy evaluation of VN to avoid the fix-point computation.
536 VN.clear();
813 auto si = RenameStack.find(C.VN);
823 << ", VN: " << C.VN.first << ", " << C.VN.second);
836 auto cmpVN = [](const CHIArg &A, const CHIArg &B) { return A.VN < B.VN; };
1165 LI.insert(Load, VN);
1167 SI.insert(Store, VN);
1181 CI.insert(Call, VN);
1187 II.insert(&I1, VN);