Lines Matching refs:LiveInterval

101   DenseMap<int, std::unique_ptr<LiveInterval>> StackSlotToOrigLI;
115 bool isSpillCandBB(LiveInterval &OrigLI, VNInfo &OrigVNI,
130 void runHoistSpills(LiveInterval &OrigLI, VNInfo &OrigVNI,
170 LiveInterval *StackInt;
208 bool isSnippet(const LiveInterval &SnipLI);
214 bool hoistSpillInsideBB(LiveInterval &SpillLI, MachineInstr &CopyMI);
215 void eliminateRedundantSpills(LiveInterval &LI, VNInfo *VNI);
217 void markValueUsed(LiveInterval*, VNInfo*);
218 bool reMaterializeFor(LiveInterval &, MachineInstr &MI);
270 bool InlineSpiller::isSnippet(const LiveInterval &SnipLI) { in isSnippet()
332 LiveInterval &SnipLI = LIS.getInterval(SnipReg); in collectRegsToSpill()
368 bool InlineSpiller::hoistSpillInsideBB(LiveInterval &SpillLI, in hoistSpillInsideBB()
377 LiveInterval &SrcLI = LIS.getInterval(SrcReg); in hoistSpillInsideBB()
388 LiveInterval &OrigLI = LIS.getInterval(Original); in hoistSpillInsideBB()
422 void InlineSpiller::eliminateRedundantSpills(LiveInterval &SLI, VNInfo *VNI) { in eliminateRedundantSpills()
424 SmallVector<std::pair<LiveInterval*, VNInfo*>, 8> WorkList; in eliminateRedundantSpills()
429 LiveInterval *LI; in eliminateRedundantSpills()
457 LiveInterval &DstLI = LIS.getInterval(DstReg); in eliminateRedundantSpills()
487 void InlineSpiller::markValueUsed(LiveInterval *LI, VNInfo *VNI) { in markValueUsed()
488 SmallVector<std::pair<LiveInterval*, VNInfo*>, 8> WorkList; in markValueUsed()
509 LiveInterval &SnipLI = LIS.getInterval(MI->getOperand(1).getReg()); in markValueUsed()
518 bool InlineSpiller::reMaterializeFor(LiveInterval &VirtReg, MachineInstr &MI) { in reMaterializeFor()
544 LiveInterval &OrigLI = LIS.getInterval(Original); in reMaterializeFor()
613 LiveInterval &LI = LIS.getInterval(Reg); in reMaterializeAll()
634 LiveInterval &LI = LIS.getInterval(Reg); in reMaterializeAll()
635 for (LiveInterval::vni_iterator I = LI.vni_begin(), E = LI.vni_end(); in reMaterializeAll()
930 LiveInterval &OldLI = LIS.getInterval(Reg); in spillAroundUses()
989 LiveInterval &SibLI = LIS.getInterval(SibReg); in spillAroundUses()
1110 LiveInterval &OrigLI = LIS.getInterval(Original); in addToMergeableSpills()
1114 auto LI = llvm::make_unique<LiveInterval>(OrigLI.reg, OrigLI.weight); in addToMergeableSpills()
1139 bool HoistSpillHelper::isSpillCandBB(LiveInterval &OrigLI, VNInfo &OrigVNI, in isSpillCandBB()
1152 LiveInterval &LI = LIS.getInterval(SibReg); in isSpillCandBB()
1284 LiveInterval &OrigLI, VNInfo &OrigVNI, in runHoistSpills()
1435 LiveInterval &OrigLI = *StackSlotToOrigLI[Slot]; in hoistAllSpills()
1467 LiveInterval &StackIntvl = LSS.getInterval(Slot); in hoistAllSpills()