Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:Uses

179   /// All basic blocks where the current register has uses.
1046 // First handle all the blocks with uses.
1072 // Create separate intervals for isolated blocks with multiple uses.
1165 // for blocks with multiple uses, and anything created by DCE.
1304 /// tryBlockSplit - Split a global live range around every block with uses. This
1370 ArrayRef<SlotIndex> Uses = SA->getUseSlots();
1371 if (Uses.size() <= 1)
1374 DEBUG(dbgs() << "Split around " << Uses.size() << " individual instrs.\n");
1377 for (unsigned i = 0; i != Uses.size(); ++i) {
1378 if (const MachineInstr *MI = Indexes->getInstructionFromIndex(Uses[i]))
1380 DEBUG(dbgs() << " skip:\t" << Uses[i] << '\t' << *MI);
1384 SlotIndex SegStart = SE->enterIntvBefore(Uses[i]);
1385 SlotIndex SegStop = SE->leaveIntvAfter(Uses[i]);
1390 DEBUG(dbgs() << "All uses were copies.\n");
1419 ArrayRef<SlotIndex> Uses = SA->getUseSlots();
1420 const unsigned NumGaps = Uses.size()-1;
1447 while (Uses[Gap+1].getBoundaryIndex() < IntI.start())
1457 if (Uses[Gap+1].getBaseIndex() >= IntI.stop())
1473 while (Uses[Gap+1].getBoundaryIndex() < I->start)
1481 if (Uses[Gap+1].getBaseIndex() >= I->end)
1505 ArrayRef<SlotIndex> Uses = SA->getUseSlots();
1506 if (Uses.size() <= 2)
1508 const unsigned NumGaps = Uses.size()-1;
1512 for (unsigned i = 0, e = Uses.size(); i != e; ++i)
1513 dbgs() << ' ' << Uses[i];
1526 Uses.front().getRegSlot()) - RMS.begin();
1529 // Look for Uses[i] <= RMS <= Uses[i+1].
1530 assert(!SlotIndex::isEarlierInstr(RMS[ri], Uses[i]));
1531 if (SlotIndex::isEarlierInstr(Uses[i+1], RMS[ri]))
1535 if (SlotIndex::isSameInstr(Uses[i+1], RMS[ri]) && i+1 == NumGaps)
1537 DEBUG(dbgs() << ' ' << RMS[ri] << ':' << Uses[i] << '-' << Uses[i+1]);
1539 // Advance ri to the next gap. A regmask on one of the uses counts in
1541 while (ri != re && SlotIndex::isEarlierInstr(RMS[ri], Uses[i+1]))
1591 // We will split before Uses[SplitBefore] and after Uses[SplitAfter].
1604 << Uses[SplitBefore] << '-' << Uses[SplitAfter]
1628 Uses[SplitBefore].distance(Uses[SplitAfter]) +
1675 DEBUG(dbgs() << "Best local split range: " << Uses[BestBefore]
1676 << '-' << Uses[BestAfter] << ", " << BestDiff
1683 SlotIndex SegStart = SE->enterIntvBefore(Uses[BestBefore]);
1684 SlotIndex SegStop = SE->leaveIntvAfter(Uses[BestAfter]);