Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:Uses

242   /// All basic blocks where the current register has uses.
1164 // First handle all the blocks with uses.
1190 // Create separate intervals for isolated blocks with multiple uses.
1283 // for blocks with multiple uses, and anything created by DCE.
1446 /// tryBlockSplit - Split a global live range around every block with uses. This
1529 ArrayRef<SlotIndex> Uses = SA->getUseSlots();
1530 if (Uses.size() <= 1)
1533 DEBUG(dbgs() << "Split around " << Uses.size() << " individual instrs.\n");
1541 for (unsigned i = 0; i != Uses.size(); ++i) {
1542 if (const MachineInstr *MI = Indexes->getInstructionFromIndex(Uses[i]))
1547 DEBUG(dbgs() << " skip:\t" << Uses[i] << '\t' << *MI);
1551 SlotIndex SegStart = SE->enterIntvBefore(Uses[i]);
1552 SlotIndex SegStop = SE->leaveIntvAfter(Uses[i]);
1557 DEBUG(dbgs() << "All uses were copies.\n");
1586 ArrayRef<SlotIndex> Uses = SA->getUseSlots();
1587 const unsigned NumGaps = Uses.size()-1;
1614 while (Uses[Gap+1].getBoundaryIndex() < IntI.start())
1624 if (Uses[Gap+1].getBaseIndex() >= IntI.stop())
1640 while (Uses[Gap+1].getBoundaryIndex() < I->start)
1648 if (Uses[Gap+1].getBaseIndex() >= I->end)
1672 ArrayRef<SlotIndex> Uses = SA->getUseSlots();
1673 if (Uses.size() <= 2)
1675 const unsigned NumGaps = Uses.size()-1;
1679 for (unsigned i = 0, e = Uses.size(); i != e; ++i)
1680 dbgs() << ' ' << Uses[i];
1693 Uses.front().getRegSlot()) - RMS.begin();
1696 // Look for Uses[i] <= RMS <= Uses[i+1].
1697 assert(!SlotIndex::isEarlierInstr(RMS[ri], Uses[i]));
1698 if (SlotIndex::isEarlierInstr(Uses[i+1], RMS[ri]))
1702 if (SlotIndex::isSameInstr(Uses[i+1], RMS[ri]) && i+1 == NumGaps)
1704 DEBUG(dbgs() << ' ' << RMS[ri] << ':' << Uses[i] << '-' << Uses[i+1]);
1706 // Advance ri to the next gap. A regmask on one of the uses counts in
1708 while (ri != re && SlotIndex::isEarlierInstr(RMS[ri], Uses[i+1]))
1758 // We will split before Uses[SplitBefore] and after Uses[SplitAfter].
1771 << Uses[SplitBefore] << '-' << Uses[SplitAfter]
1795 Uses[SplitBefore].distance(Uses[SplitAfter]) +
1842 DEBUG(dbgs() << "Best local split range: " << Uses[BestBefore]
1843 << '-' << Uses[BestAfter] << ", " << BestDiff
1850 SlotIndex SegStart = SE->enterIntvBefore(Uses[BestBefore]);
1851 SlotIndex SegStop = SE->leaveIntvAfter(Uses[BestAfter]);
1994 /// vC does as if vA was evicted => vC uses R1.
1999 /// vA does as if vB was evicted => vA uses R2.