Lines Matching refs:Intf

359     InterferenceCache::Cursor Intf;  member
368 Intf.setPhysReg(Cache, Reg); in reset()
964 for (LiveInterval *Intf : reverse(Q.interferingVRegs())) { in canEvictInterference()
965 assert(Register::isVirtualRegister(Intf->reg()) && in canEvictInterference()
971 if (FixedRegisters.count(Intf->reg())) in canEvictInterference()
975 if (getStage(*Intf) == RS_Done) in canEvictInterference()
985 (Intf->isSpillable() || in canEvictInterference()
988 MRI->getRegClass(Intf->reg()))); in canEvictInterference()
990 unsigned IntfCascade = ExtraRegInfo[Intf->reg()].Cascade; in canEvictInterference()
999 bool BreaksHint = VRM->hasPreferredPhys(Intf->reg()); in canEvictInterference()
1002 Cost.MaxWeight = std::max(Cost.MaxWeight, Intf->weight()); in canEvictInterference()
1009 if (!shouldEvict(VirtReg, IsHint, *Intf, BreaksHint)) in canEvictInterference()
1014 if (!MaxCost.isMax() && IsLocal && LIS->intervalIsInOneMBB(*Intf) && in canEvictInterference()
1015 (!EnableLocalReassign || !canReassign(*Intf, PhysReg))) { in canEvictInterference()
1045 for (const LiveInterval *Intf : reverse(Q.interferingVRegs())) { in canEvictInterferenceInRange() local
1047 if (!Intf->overlaps(Start, End)) in canEvictInterferenceInRange()
1051 if (!Register::isVirtualRegister(Intf->reg())) in canEvictInterferenceInRange()
1054 if (getStage(*Intf) == RS_Done) in canEvictInterferenceInRange()
1058 bool BreaksHint = VRM->hasPreferredPhys(Intf->reg()); in canEvictInterferenceInRange()
1061 Cost.MaxWeight = std::max(Cost.MaxWeight, Intf->weight()); in canEvictInterferenceInRange()
1138 for (LiveInterval *Intf : Intfs) { in evictInterference()
1140 if (!VRM->hasPhys(Intf->reg())) in evictInterference()
1143 LastEvicted.addEviction(PhysReg, VirtReg.reg(), Intf->reg()); in evictInterference()
1145 Matrix->unassign(*Intf); in evictInterference()
1146 assert((ExtraRegInfo[Intf->reg()].Cascade < Cascade || in evictInterference()
1147 VirtReg.isSpillable() < Intf->isSpillable()) && in evictInterference()
1149 ExtraRegInfo[Intf->reg()].Cascade = Cascade; in evictInterference()
1151 NewVRegs.push_back(Intf->reg()); in evictInterference()
1248 bool RAGreedy::addSplitConstraints(InterferenceCache::Cursor Intf, in addSplitConstraints() argument
1260 Intf.moveToBlock(BC.Number); in addSplitConstraints()
1268 if (!Intf.hasInterference()) in addSplitConstraints()
1276 if (Intf.first() <= Indexes->getMBBStartIdx(BC.Number)) { in addSplitConstraints()
1279 } else if (Intf.first() < BI.FirstInstr) { in addSplitConstraints()
1282 } else if (Intf.first() < BI.LastInstr) { in addSplitConstraints()
1296 if (Intf.last() >= SA->getLastSplitPoint(BC.Number)) { in addSplitConstraints()
1299 } else if (Intf.last() > BI.LastInstr) { in addSplitConstraints()
1302 } else if (Intf.last() > BI.FirstInstr) { in addSplitConstraints()
1321 bool RAGreedy::addThroughConstraints(InterferenceCache::Cursor Intf, in addThroughConstraints() argument
1329 Intf.moveToBlock(Number); in addThroughConstraints()
1331 if (!Intf.hasInterference()) { in addThroughConstraints()
1352 if (Intf.first() <= Indexes->getMBBStartIdx(Number)) in addThroughConstraints()
1358 if (Intf.last() >= SA->getLastSplitPoint(Number)) in addThroughConstraints()
1408 if (!addThroughConstraints(Cand.Intf, NewBlocks)) in growRegion()
1446 if (!addSplitConstraints(Cand.Intf, Cost)) { in calcCompactRegion()
1556 Cand.Intf.first(), Cand.Intf.last(), &MaxWeight); in splitCanCauseEvictionChain()
1563 Cand.Intf.moveToBlock(BBNumber); in splitCanCauseEvictionChain()
1573 if (EvictorLI.FindSegmentContaining(Cand.Intf.first()) == EvictorLI.end()) in splitCanCauseEvictionChain()
1581 Cand.Intf.first().getPrevIndex(), Cand.Intf.last()); in splitCanCauseEvictionChain()
1604 Cand.Intf.moveToBlock(BBNumber); in splitCanCauseLocalSpill()
1608 if (!Matrix->checkInterference(Cand.Intf.first().getPrevIndex(), in splitCanCauseLocalSpill()
1609 Cand.Intf.last(), PhysReg)) in splitCanCauseLocalSpill()
1637 Cand.Intf.moveToBlock(BC.Number); in calcGlobalSplitCost()
1641 if (EnableAdvancedRASplitCost && Cand.Intf.hasInterference() && BI.LiveIn && in calcGlobalSplitCost()
1677 Cand.Intf.moveToBlock(Number); in calcGlobalSplitCost()
1678 if (Cand.Intf.hasInterference()) { in calcGlobalSplitCost()
1742 Cand.Intf.moveToBlock(Number); in splitAroundRegion()
1743 IntfIn = Cand.Intf.first(); in splitAroundRegion()
1751 Cand.Intf.moveToBlock(Number); in splitAroundRegion()
1752 IntfOut = Cand.Intf.last(); in splitAroundRegion()
1790 Cand.Intf.moveToBlock(Number); in splitAroundRegion()
1791 IntfIn = Cand.Intf.first(); in splitAroundRegion()
1798 Cand.Intf.moveToBlock(Number); in splitAroundRegion()
1799 IntfOut = Cand.Intf.last(); in splitAroundRegion()
1937 if (!addSplitConstraints(Cand.Intf, Cost)) { in calculateRegionSplitCost()
2569 for (LiveInterval *Intf : reverse(Q.interferingVRegs())) { in mayRecolorAllInterferences()
2574 if (((getStage(*Intf) == RS_Done && in mayRecolorAllInterferences()
2575 MRI->getRegClass(Intf->reg()) == CurRC) && in mayRecolorAllInterferences()
2577 !hasTiedDef(MRI, Intf->reg()))) || in mayRecolorAllInterferences()
2578 FixedRegisters.count(Intf->reg())) { in mayRecolorAllInterferences()
2583 RecoloringCandidates.insert(Intf); in mayRecolorAllInterferences()