Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:VNI

1390   VNInfo *stripCopies(VNInfo *VNI);
1450 /// Find the ultimate value that VNI was copied from.
1451 VNInfo *JoinVals::stripCopies(VNInfo *VNI) {
1452 while (!VNI->isPHIDef()) {
1453 MachineInstr *MI = Indexes->getInstructionFromIndex(VNI->def);
1460 LiveQueryResult LRQ = LIS->getInterval(Reg).Query(VNI->def);
1463 VNI = LRQ.valueIn();
1465 return VNI;
1479 VNInfo *VNI = LI.getValNumInfo(ValNo);
1480 if (VNI->isUnused()) {
1487 if (VNI->isPHIDef()) {
1491 DefMI = Indexes->getInstructionFromIndex(VNI->def);
1511 V.RedefVNI = LI.Query(VNI->def).valueIn();
1527 // Find the value in Other that overlaps VNI->def, if any.
1528 LiveQueryResult OtherLRQ = Other.LI.Query(VNI->def);
1535 assert(SlotIndex::isSameInstr(VNI->def, OtherVNI->def) && "Broken LRQ");
1539 if (OtherVNI->def < VNI->def)
1541 else if (VNI->def < OtherVNI->def && OtherLRQ.valueIn()) {
1555 if (VNI->isPHIDef())
1570 assert(!SlotIndex::isSameInstr(VNI->def, V.OtherVNI->def) && "Broken LRQ");
1594 if (VNI->isPHIDef())
1611 // VNI.
1612 if (OtherLRQ.isKill() && OtherLRQ.endPoint() <= VNI->def)
1615 // Handle the case where VNI and OtherVNI can be proven to be identical:
1621 stripCopies(VNI) == stripCopies(V.OtherVNI))
1629 // 2 %src = BAR <-- VNI
1634 // Here OtherVNI will map to itself in [1;2), but to VNI in [2;5). CR_Replace
1648 assert(VNI->def.isEarlyClobber() &&
1653 // VNI is clobbering live lanes in OtherVNI, but there is still the
1663 MachineBasicBlock *MBB = Indexes->getMBBFromIndex(VNI->def);
1745 VNInfo *VNI = LI.getValNumInfo(ValNo);
1746 MachineBasicBlock *MBB = Indexes->getMBBFromIndex(VNI->def);
1749 // Scan Other.LI from VNI.def to MBBEnd.
1750 LiveInterval::iterator OtherI = Other.LI.find(VNI->def);
1810 VNInfo *VNI = LI.getValNumInfo(i);
1813 // VNI is known to clobber some lanes in OtherVNI. If we go ahead with the
1824 // Now look at the instructions from VNI->def to TaintExtent (inclusive).
1825 MachineBasicBlock *MBB = Indexes->getMBBFromIndex(VNI->def);
1827 if (!VNI->isPHIDef()) {
1828 MI = Indexes->getInstructionFromIndex(VNI->def);
1829 // No need to check the instruction defining VNI for reads.
1832 assert(!SlotIndex::isSameInstr(VNI->def, TaintExtent.front().first) &&
1833 "Interference ends on VNI->def. Should have been handled earlier");