Lines Matching defs:VN
139 VNType VN;
144 // The instruction (VN) which uses the values flowing out of CHI.
147 bool operator==(const CHIArg &A) const { return VN == A.VN; }
167 void insert(Instruction *I, GVNPass::ValueTable &VN) {
169 unsigned V = VN.lookupOrAdd(I);
182 void insert(LoadInst *Load, GVNPass::ValueTable &VN) {
184 unsigned V = VN.lookupOrAdd(Load->getPointerOperand());
201 void insert(StoreInst *Store, GVNPass::ValueTable &VN) {
207 VNtoStores[{VN.lookupOrAdd(Ptr), VN.lookupOrAdd(Val)}].push_back(Store);
221 void insert(CallInst *Call, GVNPass::ValueTable &VN) {
225 unsigned V = VN.lookupOrAdd(Call);
264 GVNPass::ValueTable VN;
405 // - Sort VNs according to their rank, and start with lowest ranked VN
406 // - Take a VN and for each instruction with same VN
421 const VNType &VN = R;
440 InValue[V[i]->getParent()].push_back(std::make_pair(VN, V[i]));
442 // Insert empty CHI node for this VN. This is used to factor out
444 CHIArg EmptyChi = {VN, nullptr, nullptr};
509 VN.setDomTree(DT);
510 VN.setAliasAnalysis(AA);
511 VN.setMemDep(MD);
524 // FIXME: use lazy evaluation of VN to avoid the fix-point computation.
537 VN.clear();
814 auto si = RenameStack.find(C.VN);
824 << ", VN: " << C.VN.first << ", " << C.VN.second);
837 auto cmpVN = [](const CHIArg &A, const CHIArg &B) { return A.VN < B.VN; };
1166 LI.insert(Load, VN);
1168 SI.insert(Store, VN);
1182 CI.insert(Call, VN);
1188 II.insert(&I1, VN);