• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/contrib/llvm-project/llvm/lib/CodeGen/

Lines Matching defs:VNI

1105     for (auto VNI : IntB.valnos) {
1106 if (VNI->isUnused())
1108 if (PVal->def < VNI->def && VNI->def < LIS->getMBBEndIdx(Pred)) {
1447 // VNI is in ValNo - remove any segments in this SubRange that have this ValNo
1598 VNInfo *VNI = DstLI.getVNInfoAt(RegIndex);
1599 DstLI.MergeValueNumberInto(VNI, PrevVNI);
2322 /// Find the ultimate value that VNI was copied from.
2323 std::pair<const VNInfo*,unsigned> followCopyChain(const VNInfo *VNI) const;
2447 const VNInfo *VNI) const {
2450 while (!VNI->isPHIDef()) {
2451 SlotIndex Def = VNI->def;
2455 return std::make_pair(VNI, TrackReg);
2458 return std::make_pair(VNI, TrackReg);
2481 return std::make_pair(VNI, TrackReg);
2493 VNI = ValueIn;
2496 return std::make_pair(VNI, TrackReg);
2527 VNInfo *VNI = LR.getValNumInfo(ValNo);
2528 if (VNI->isUnused()) {
2535 if (VNI->isPHIDef()) {
2541 DefMI = Indexes->getInstructionFromIndex(VNI->def);
2570 V.RedefVNI = LR.Query(VNI->def).valueIn();
2592 // Find the value in Other that overlaps VNI->def, if any.
2593 LiveQueryResult OtherLRQ = Other.LR.Query(VNI->def);
2600 assert(SlotIndex::isSameInstr(VNI->def, OtherVNI->def) && "Broken LRQ");
2604 if (OtherVNI->def < VNI->def)
2606 else if (VNI->def < OtherVNI->def && OtherLRQ.valueIn()) {
2620 if (VNI->isPHIDef())
2635 assert(!SlotIndex::isSameInstr(VNI->def, V.OtherVNI->def) && "Broken LRQ");
2665 if (VNI->isPHIDef())
2688 // VNI.
2689 if (OtherLRQ.isKill() && OtherLRQ.endPoint() <= VNI->def)
2692 // Handle the case where VNI and OtherVNI can be proven to be identical:
2698 valuesIdentical(VNI, V.OtherVNI, Other)) {
2714 // 2 %src = BAR <-- VNI
2719 // Here OtherVNI will map to itself in [1;2), but to VNI in [2;5). CR_Replace
2733 assert(VNI->def.isEarlyClobber() &&
2738 // VNI is clobbering live lanes in OtherVNI, but there is still the
2748 MachineBasicBlock *MBB = Indexes->getMBBFromIndex(VNI->def);
2828 VNInfo *VNI = LR.getValNumInfo(ValNo);
2829 MachineBasicBlock *MBB = Indexes->getMBBFromIndex(VNI->def);
2832 // Scan Other.LR from VNI.def to MBBEnd.
2833 LiveInterval::iterator OtherI = Other.LR.find(VNI->def);
2894 VNInfo *VNI = LR.getValNumInfo(i);
2897 // VNI is known to clobber some lanes in OtherVNI. If we go ahead with the
2908 // Now look at the instructions from VNI->def to TaintExtent (inclusive).
2909 MachineBasicBlock *MBB = Indexes->getMBBFromIndex(VNI->def);
2911 if (!VNI->isPHIDef()) {
2912 MI = Indexes->getInstructionFromIndex(VNI->def);
2913 // No need to check the instruction defining VNI for reads.
2916 assert(!SlotIndex::isSameInstr(VNI->def, TaintExtent.front().first) &&
2917 "Interference ends on VNI->def. Should have been handled earlier");
3122 if (VNInfo *VNI = SR.Query(Def).valueOutOrDead())
3123 if (VNI->def == Def)
3135 VNInfo *VNI = LR.getValNumInfo(i);
3136 if (VNI->isUnused() || VNI->isPHIDef() || isDefInSubRange(LI, VNI->def))
3149 VNInfo *VNI = LR.getValNumInfo(i);
3150 VNI->markUnused();
3151 LR.removeValNo(VNI);
3160 VNInfo *VNI = LR.getValNumInfo(i);
3161 SlotIndex Def = VNI->def;
3188 LR.removeValNo(VNI);
3191 VNI->markUnused();