/external/llvm/include/llvm/CodeGen/ |
D | LiveInterval.h | 42 class VNInfo { 64 VNInfo(unsigned i, SlotIndex d, MachineInstr *c) in VNInfo() function 69 VNInfo(unsigned i, const VNInfo &orig) in VNInfo() function 74 void copyFrom(VNInfo &src) { in copyFrom() 85 void mergeFlags(const VNInfo *VNI) { in mergeFlags() 151 VNInfo *valno; // identifier for the value contained in this interval. 153 LiveRange(SlotIndex S, SlotIndex E, VNInfo *V) in LiveRange() 206 typedef SmallVector<VNInfo*,4> VNInfoList; 282 inline VNInfo *getValNumInfo(unsigned ValNo) { 285 inline const VNInfo *getValNumInfo(unsigned ValNo) const { [all …]
|
D | LiveIntervalAnalysis.h | 58 VNInfo::Allocator VNInfoAllocator; 263 VNInfo::Allocator& getVNInfoAllocator() { return VNInfoAllocator; } in getVNInfoAllocator() 297 bool isReMaterializable(const LiveInterval &li, const VNInfo *ValNo, 377 bool isReMaterializable(const LiveInterval &li, const VNInfo *ValNo, 399 bool anyKillInMBBAfterIdx(const LiveInterval &li, const VNInfo *VNI, 437 bool rewriteInstructionForSpills(const LiveInterval &li, const VNInfo *VNI,
|
D | LiveStackAnalysis.h | 30 VNInfo::Allocator VNInfoAllocator; 84 VNInfo::Allocator& getVNInfoAllocator() { return VNInfoAllocator; } in getVNInfoAllocator()
|
/external/llvm/lib/CodeGen/ |
D | LiveInterval.cpp | 137 void LiveInterval::markValNoForDeletion(VNInfo *ValNo) { in markValNoForDeletion() 150 SmallPtrSet<VNInfo*, 8> Seen; in RenumberValues() 154 VNInfo *VNI = I->valno; in RenumberValues() 169 VNInfo *VNI = *I; in RenumberValues() 176 VNInfo *KVNI = getVNInfoAt(lis.getMBBEndIdx(*PI).getPrevSlot()); in RenumberValues() 189 VNInfo *ValNo = I->valno; in extendIntervalEndTo() 219 VNInfo *ValNo = I->valno; in extendIntervalStartTo() 300 VNInfo *LiveInterval::extendInBlock(SlotIndex StartIdx, SlotIndex UseIdx) { in extendInBlock() 324 VNInfo *ValNo = I->valno; in removeRange() 364 void LiveInterval::removeValNo(VNInfo *ValNo) { in removeValNo() [all …]
|
D | SplitKit.h | 38 class VNInfo; variable 234 typedef DenseMap<std::pair<unsigned, unsigned>, VNInfo*> ValueMap; 246 typedef std::pair<VNInfo*, MachineDomTreeNode*> LiveOutPair; 280 VNInfo *Value; 299 VNInfo *defValue(unsigned RegIdx, const VNInfo *ParentVNI, SlotIndex Idx); 303 void markComplexMapped(unsigned RegIdx, const VNInfo *ParentVNI); 307 VNInfo *defFromParent(unsigned RegIdx, 308 VNInfo *ParentVNI, 323 VNInfo *findReachingDefs(LiveInterval *LI, MachineBasicBlock *MBB,
|
D | LiveRangeEdit.h | 68 SmallPtrSet<const VNInfo*,4> remattable_; 72 SmallPtrSet<const VNInfo*,4> rematted_; 145 bool checkRematerializable(VNInfo *VNI, const MachineInstr *DefMI, 150 VNInfo *ParentVNI; // parent_'s value at the remat location. 152 explicit Remat(VNInfo *ParentVNI) : ParentVNI(ParentVNI), OrigMI(0) {} in Remat() 178 void markRematerialized(const VNInfo *ParentVNI) { in markRematerialized() 183 bool didRematerialize(const VNInfo *ParentVNI) const { in didRematerialize()
|
D | InlineSpiller.cpp | 76 SmallPtrSet<VNInfo*, 8> UsedValues; 88 VNInfo *SpillVNI; 94 SibValueInfo(unsigned Reg, VNInfo *VNI) in SibValueInfo() 99 typedef DenseMap<VNInfo*, SibValueInfo> SibValueMap; 136 MachineInstr *traceSiblingValue(unsigned, VNInfo*, VNInfo*); 140 void eliminateRedundantSpills(LiveInterval &LI, VNInfo *VNI); 142 void markValueUsed(LiveInterval*, VNInfo*); 295 MachineInstr *InlineSpiller::traceSiblingValue(unsigned UseReg, VNInfo *UseVNI, in traceSiblingValue() 296 VNInfo *OrigVNI) { in traceSiblingValue() 299 SmallPtrSet<VNInfo*, 8> Visited; in traceSiblingValue() [all …]
|
D | SplitKit.cpp | 330 VNInfo *SplitEditor::defValue(unsigned RegIdx, in defValue() 331 const VNInfo *ParentVNI, in defValue() 339 VNInfo *VNI = LI->getNextValue(Idx, 0, LIS.getVNInfoAllocator()); in defValue() 351 if (VNInfo *OldVNI = InsP.first->second) { in defValue() 365 void SplitEditor::markComplexMapped(unsigned RegIdx, const VNInfo *ParentVNI) { in markComplexMapped() 367 VNInfo *&VNI = Values[std::make_pair(RegIdx, ParentVNI->id)]; in markComplexMapped() 396 VNInfo *VNI = findReachingDefs(LI, IdxMBB, Idx.getNextSlot()); in extendRange() 419 VNInfo *SplitEditor::findReachingDefs(LiveInterval *LI, in findReachingDefs() 434 VNInfo *TheVNI = 0; in findReachingDefs() 447 if (VNInfo *VNI = LOP.first) { in findReachingDefs() [all …]
|
D | RegisterCoalescer.cpp | 308 VNInfo *BValNo = BLR->valno; in AdjustCopiesBackFrom() 321 VNInfo *AValNo = ALR->valno; in AdjustCopiesBackFrom() 447 VNInfo *AValNo, in HasOtherReachingDefs() 448 VNInfo *BValNo) { in HasOtherReachingDefs() 513 VNInfo *BValNo = IntB.getVNInfoAt(CopyIdx); in RemoveCopyByCommutingDef() 520 VNInfo *AValNo = IntA.getVNInfoAt(CopyIdx.getUseIndex()); in RemoveCopyByCommutingDef() 645 VNInfo *DVNI = IntB.getVNInfoAt(DefIdx); in RemoveCopyByCommutingDef() 656 VNInfo *ValNo = BValNo; in RemoveCopyByCommutingDef() 682 VNInfo *ValNo = SrcLR->valno; in ReMaterializeTrivialDef() 1154 static unsigned ComputeUltimateVN(VNInfo *VNI, in ComputeUltimateVN() [all …]
|
D | StrongPHIElimination.cpp | 351 VNInfo *NewVNI = NewLI.getVNInfoAt(DestLR->start); in runOnMachineFunction() 676 VNInfo *SrcVNI = SrcInterval.getVNInfoAt(PredIndex.getPrevIndex()); in InsertCopiesForPHI() 747 VNInfo *DestVNI = DestLI.getVNInfoAt(PHIIndex.getDefIndex()); in InsertCopiesForPHI() 780 VNInfo *CopyVNI = CopyLI.getNextValue(MBBStartIndex, in InsertCopiesForPHI() 794 VNInfo *DestVNI = DestLI.getVNInfoAt(DestCopyIndex.getDefIndex()); in InsertCopiesForPHI() 809 DenseMap<VNInfo*, VNInfo*> VNMap; in MergeLIsAndRename() 813 VNInfo *OldVN = OldLR.valno; in MergeLIsAndRename() 815 VNInfo *&NewVN = VNMap[OldVN]; in MergeLIsAndRename()
|
D | LiveIntervalAnalysis.cpp | 315 VNInfo *ValNo = interval.getNextValue(defIndex, CopyMI, VNInfoAllocator); in handleVirtualRegisterDef() 420 VNInfo *OldValNo = OldLR->valno; in handleVirtualRegisterDef() 429 VNInfo *ValNo = interval.createValueCopy(OldValNo, VNInfoAllocator); in handleVirtualRegisterDef() 463 VNInfo *ValNo; in handleVirtualRegisterDef() 556 VNInfo *ValNo = interval.getVNInfoAt(start); in handlePhysicalRegisterDef() 648 VNInfo *vni = in handleLiveInRegister() 748 SmallVector<std::pair<SlotIndex, VNInfo*>, 16> WorkList; in shrinkToUses() 756 VNInfo *VNI = li->getVNInfoAt(Idx); in shrinkToUses() 780 VNInfo *VNI = *I; in shrinkToUses() 791 if (VNInfo *UVNI = li->getVNInfoAt(VNI->def.getLoadIndex())) in shrinkToUses() [all …]
|
D | Splitter.cpp | 95 std::map<VNInfo*, VNInfo*> vniMap; 106 VNInfo* getNewVNI(VNInfo *oldVNI) { in getNewVNI() 107 VNInfo *newVNI = vniMap[oldVNI]; in getNewVNI() 146 VNInfo *newVal = getNewVNI(preHeaderRange->valno); in applyIncoming() 187 VNInfo *newVal = in applyOutgoing() 525 VNInfo *newVal = li.getNextValue(newDefIdx, 0, lis->getVNInfoAllocator()); in insertPreHeader() 625 VNInfo *newVal = li.getNextValue(newDefIdx, 0, in splitEdge()
|
D | LiveRangeEdit.cpp | 44 bool LiveRangeEdit::checkRematerializable(VNInfo *VNI, in checkRematerializable() 61 VNInfo *VNI = *I; in scanRemattable() 102 const VNInfo *OVNI = li.getVNInfoAt(OrigIdx); in allUsesAvailableAt() 262 if (VNInfo *VNI = LI.getVNInfoAt(Idx)) { in eliminateDeadDefs()
|
D | RegisterCoalescer.h | 94 VNInfo *AValNo, VNInfo *BValNo);
|
D | Spiller.cpp | 146 VNInfo *loadVNI = in trivialSpillEverywhere() 160 VNInfo *storeVNI = in trivialSpillEverywhere()
|
D | LiveDebugVariables.cpp | 196 LiveInterval *LI, const VNInfo *VNI, 448 LiveInterval *LI, const VNInfo *VNI, in extendDef() 517 SmallVector<std::pair<LiveInterval*, const VNInfo*>, 8> CopyValues; in addDefsFromCopies() 544 const VNInfo *DstVNI = DstLI->getVNInfoAt(Idx.getDefIndex()); in addDefsFromCopies() 559 const VNInfo *DstVNI = CopyValues[j].second; in addDefsFromCopies() 598 const VNInfo *VNI = LI->getVNInfoAt(Idx); in computeIntervals()
|
D | Splitter.h | 32 class VNInfo; variable
|
D | MachineVerifier.cpp | 695 if (const VNInfo *VNI = LI.getVNInfoAt(DefIdx)) { in visitMachineOperand() 991 VNInfo *VNI = *I; in verifyLiveIntervals() 992 const VNInfo *DefVNI = LI.getVNInfoAt(VNI->def); in verifyLiveIntervals() 1068 const VNInfo *VNI = I->valno; in verifyLiveIntervals() 1162 const VNInfo *PVNI = LI.getVNInfoAt(PEnd); in verifyLiveIntervals()
|
D | RegAllocLinearScan.cpp | 459 VNInfo *vni = range.valno; in attemptTrivialCoalescing() 995 VNInfo *vni = cur->begin()->valno; in assignRegOrStackSlotAtInterval()
|
D | RegAllocPBQP.cpp | 502 VNInfo *vni; in addStackInterval()
|