Lines Matching refs:LiveInterval
103 DenseMap<int, std::unique_ptr<LiveInterval>> StackSlotToOrigLI;
117 bool isSpillCandBB(LiveInterval &OrigLI, VNInfo &OrigVNI,
132 void runHoistSpills(LiveInterval &OrigLI, VNInfo &OrigVNI,
170 LiveInterval *StackInt;
211 bool isSnippet(const LiveInterval &SnipLI);
217 bool hoistSpillInsideBB(LiveInterval &SpillLI, MachineInstr &CopyMI);
218 void eliminateRedundantSpills(LiveInterval &LI, VNInfo *VNI);
220 void markValueUsed(LiveInterval*, VNInfo*);
222 bool reMaterializeFor(LiveInterval &, MachineInstr &MI);
280 bool InlineSpiller::isSnippet(const LiveInterval &SnipLI) { in isSnippet()
342 LiveInterval &SnipLI = LIS.getInterval(SnipReg); in collectRegsToSpill()
377 bool InlineSpiller::hoistSpillInsideBB(LiveInterval &SpillLI, in hoistSpillInsideBB()
386 LiveInterval &SrcLI = LIS.getInterval(SrcReg); in hoistSpillInsideBB()
397 LiveInterval &OrigLI = LIS.getInterval(Original); in hoistSpillInsideBB()
438 void InlineSpiller::eliminateRedundantSpills(LiveInterval &SLI, VNInfo *VNI) { in eliminateRedundantSpills()
440 SmallVector<std::pair<LiveInterval*, VNInfo*>, 8> WorkList; in eliminateRedundantSpills()
445 LiveInterval *LI; in eliminateRedundantSpills()
471 LiveInterval &DstLI = LIS.getInterval(DstReg); in eliminateRedundantSpills()
501 void InlineSpiller::markValueUsed(LiveInterval *LI, VNInfo *VNI) { in markValueUsed()
502 SmallVector<std::pair<LiveInterval*, VNInfo*>, 8> WorkList; in markValueUsed()
523 LiveInterval &SnipLI = LIS.getInterval(MI->getOperand(1).getReg()); in markValueUsed()
566 bool InlineSpiller::reMaterializeFor(LiveInterval &VirtReg, MachineInstr &MI) { in reMaterializeFor()
589 LiveInterval &OrigLI = LIS.getInterval(Original); in reMaterializeFor()
666 LiveInterval &LI = LIS.getInterval(Reg); in reMaterializeAll()
683 LiveInterval &LI = LIS.getInterval(Reg); in reMaterializeAll()
1060 LiveInterval &OldLI = LIS.getInterval(Reg); in spillAroundUses()
1114 LiveInterval &SibLI = LIS.getInterval(SibReg); in spillAroundUses()
1233 LiveInterval &OrigLI = LIS.getInterval(Original); in addToMergeableSpills()
1237 auto LI = std::make_unique<LiveInterval>(OrigLI.reg(), OrigLI.weight()); in addToMergeableSpills()
1262 bool HoistSpillHelper::isSpillCandBB(LiveInterval &OrigLI, VNInfo &OrigVNI, in isSpillCandBB()
1278 LiveInterval &LI = LIS.getInterval(SibReg); in isSpillCandBB()
1407 LiveInterval &OrigLI, VNInfo &OrigVNI, in runHoistSpills()
1555 LiveInterval &OrigLI = *StackSlotToOrigLI[Slot]; in hoistAllSpills()
1587 LiveInterval &StackIntvl = LSS.getInterval(Slot); in hoistAllSpills()