Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:VNI

1171     VNInfo *VNI = DstLI.getVNInfoAt(RegIndex);
1172 DstLI.MergeValueNumberInto(VNI, PrevVNI);
1813 /// Find the ultimate value that VNI was copied from.
1814 std::pair<const VNInfo*,unsigned> followCopyChain(const VNInfo *VNI) const;
1922 const VNInfo *VNI) const {
1925 while (!VNI->isPHIDef()) {
1926 SlotIndex Def = VNI->def;
1930 return std::make_pair(VNI, Reg);
1933 return std::make_pair(VNI, Reg);
1956 VNI = ValueIn;
1959 return std::make_pair(VNI, Reg);
1985 VNInfo *VNI = LR.getValNumInfo(ValNo);
1986 if (VNI->isUnused()) {
1993 if (VNI->isPHIDef()) {
1998 DefMI = Indexes->getInstructionFromIndex(VNI->def);
2027 V.RedefVNI = LR.Query(VNI->def).valueIn();
2047 // Find the value in Other that overlaps VNI->def, if any.
2048 LiveQueryResult OtherLRQ = Other.LR.Query(VNI->def);
2055 assert(SlotIndex::isSameInstr(VNI->def, OtherVNI->def) && "Broken LRQ");
2059 if (OtherVNI->def < VNI->def)
2061 else if (VNI->def < OtherVNI->def && OtherLRQ.valueIn()) {
2075 if (VNI->isPHIDef())
2090 assert(!SlotIndex::isSameInstr(VNI->def, V.OtherVNI->def) && "Broken LRQ");
2114 if (VNI->isPHIDef())
2137 // VNI.
2138 if (OtherLRQ.isKill() && OtherLRQ.endPoint() <= VNI->def)
2141 // Handle the case where VNI and OtherVNI can be proven to be identical:
2147 && valuesIdentical(VNI, V.OtherVNI, Other))
2155 // 2 %src = BAR <-- VNI
2160 // Here OtherVNI will map to itself in [1;2), but to VNI in [2;5). CR_Replace
2174 assert(VNI->def.isEarlyClobber() &&
2179 // VNI is clobbering live lanes in OtherVNI, but there is still the
2189 MachineBasicBlock *MBB = Indexes->getMBBFromIndex(VNI->def);
2259 VNInfo *VNI = LR.getValNumInfo(ValNo);
2260 MachineBasicBlock *MBB = Indexes->getMBBFromIndex(VNI->def);
2263 // Scan Other.LR from VNI.def to MBBEnd.
2264 LiveInterval::iterator OtherI = Other.LR.find(VNI->def);
2325 VNInfo *VNI = LR.getValNumInfo(i);
2328 // VNI is known to clobber some lanes in OtherVNI. If we go ahead with the
2339 // Now look at the instructions from VNI->def to TaintExtent (inclusive).
2340 MachineBasicBlock *MBB = Indexes->getMBBFromIndex(VNI->def);
2342 if (!VNI->isPHIDef()) {
2343 MI = Indexes->getInstructionFromIndex(VNI->def);
2344 // No need to check the instruction defining VNI for reads.
2347 assert(!SlotIndex::isSameInstr(VNI->def, TaintExtent.front().first) &&
2348 "Interference ends on VNI->def. Should have been handled earlier");
2495 VNInfo *VNI = LR.getValNumInfo(i);
2496 VNI->markUnused();
2497 LR.removeValNo(VNI);
2514 VNInfo *VNI = LR.getValNumInfo(i);
2515 LR.removeValNo(VNI);
2518 VNI->markUnused();