Lines Matching defs:Order
449 const AllocationOrder &Order);
452 const AllocationOrder &Order);
454 const AllocationOrder &Order,
466 unsigned getCheapestEvicteeWeight(const AllocationOrder &Order,
485 AllocationOrder &Order,
495 unsigned tryAssignCSRFirstTime(LiveInterval &VirtReg, AllocationOrder &Order,
756 AllocationOrder &Order,
759 Order.rewind();
761 while ((PhysReg = Order.next()))
764 if (!PhysReg || Order.isHint())
772 if (Order.isHint(Hint)) {
794 Register CheapReg = tryEvict(VirtReg, Order, NewVRegs, Cost, FixedRegisters);
803 AllocationOrder Order(VirtReg.reg, *VRM, RegClassInfo, Matrix);
805 while ((PhysReg = Order.next())) {
1008 /// \param Order The allocation order
1015 unsigned RAGreedy::getCheapestEvicteeWeight(const AllocationOrder &Order,
1025 for (auto PhysReg : Order.getOrder()) {
1097 /// @param Order Physregs to try.
1100 AllocationOrder &Order,
1111 unsigned OrderLimit = Order.getOrder().size();
1130 if (TRI->getCostPerUse(Order.getOrder().back()) >= CostPerUseLimit) {
1137 Order.rewind();
1138 while (MCRegister PhysReg = Order.next(OrderLimit)) {
1159 if (Order.isHint())
1472 /// \param Order The physical registers that may get evicted by a split
1479 const AllocationOrder &Order) {
1490 getCheapestEvicteeWeight(Order, LIS->getInterval(Evictee),
1532 /// \param Order The physical registers that may get evicted by a
1539 const AllocationOrder &Order) {
1543 for (auto PhysReg : Order.getOrder()) {
1552 Order, LIS->getInterval(VirtRegToSplit), Cand.Intf.first(),
1577 const AllocationOrder &Order,
1598 splitCanCauseEvictionChain(VirtRegToSplit, Cand, BC.Number, Order)) {
1608 Order)) {
1639 splitCanCauseEvictionChain(VirtRegToSplit, Cand, Number, Order)) {
1811 unsigned RAGreedy::tryRegionSplit(LiveInterval &VirtReg, AllocationOrder &Order,
1835 calculateRegionSplitCost(VirtReg, Order, BestCost, NumCands,
1855 AllocationOrder &Order,
1860 Order.rewind();
1861 while (unsigned PhysReg = Order.next()) {
1922 Cost += calcGlobalSplitCost(Cand, Order, &HasEvictionChain);
2001 unsigned RAGreedy::tryBlockSplit(LiveInterval &VirtReg, AllocationOrder &Order,
2068 RAGreedy::tryInstructionSplit(LiveInterval &VirtReg, AllocationOrder &Order,
2211 unsigned RAGreedy::tryLocalSplit(LiveInterval &VirtReg, AllocationOrder &Order,
2300 Order.rewind();
2301 while (unsigned PhysReg = Order.next()) {
2442 unsigned RAGreedy::trySplit(LiveInterval &VirtReg, AllocationOrder &Order,
2454 Register PhysReg = tryLocalSplit(VirtReg, Order, NewVRegs);
2457 return tryInstructionSplit(VirtReg, Order, NewVRegs);
2472 if (Register PhysReg = tryAssign(VirtReg, Order, NewVRegs, FixedRegisters))
2480 unsigned PhysReg = tryRegionSplit(VirtReg, Order, NewVRegs);
2486 return tryBlockSplit(VirtReg, Order, NewVRegs);
2577 /// \p Order defines the preferred allocation order for \p VirtReg.
2586 AllocationOrder &Order,
2615 Order.rewind();
2616 while (Register PhysReg = Order.next()) {
2786 AllocationOrder &Order,
2808 unsigned BestCand = calculateRegionSplitCost(VirtReg, Order, BestCost,
3022 AllocationOrder Order(VirtReg.reg, *VRM, RegClassInfo, Matrix);
3023 if (unsigned PhysReg = tryAssign(VirtReg, Order, NewVRegs, FixedRegisters)) {
3031 Register CSRReg = tryAssignCSRFirstTime(VirtReg, Order, PhysReg,
3050 tryEvict(VirtReg, Order, NewVRegs, CostPerUseLimit,
3081 Register PhysReg = trySplit(VirtReg, Order, NewVRegs, FixedRegisters);
3092 return tryLastChanceRecoloring(VirtReg, Order, NewVRegs, FixedRegisters,