Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:Uses

175   /// All basic blocks where the current register has uses.
988 // First handle all the blocks with uses.
1014 // Create separate intervals for isolated blocks with multiple uses.
1107 // for blocks with multiple uses, and anything created by DCE.
1246 /// tryBlockSplit - Split a global live range around every block with uses. This
1312 ArrayRef<SlotIndex> Uses = SA->getUseSlots();
1313 if (Uses.size() <= 1)
1316 DEBUG(dbgs() << "Split around " << Uses.size() << " individual instrs.\n");
1319 for (unsigned i = 0; i != Uses.size(); ++i) {
1320 if (const MachineInstr *MI = Indexes->getInstructionFromIndex(Uses[i]))
1322 DEBUG(dbgs() << " skip:\t" << Uses[i] << '\t' << *MI);
1326 SlotIndex SegStart = SE->enterIntvBefore(Uses[i]);
1327 SlotIndex SegStop = SE->leaveIntvAfter(Uses[i]);
1332 DEBUG(dbgs() << "All uses were copies.\n");
1361 ArrayRef<SlotIndex> Uses = SA->getUseSlots();
1362 const unsigned NumGaps = Uses.size()-1;
1389 while (Uses[Gap+1].getBoundaryIndex() < IntI.start())
1399 if (Uses[Gap+1].getBaseIndex() >= IntI.stop())
1415 while (Uses[Gap+1].getBoundaryIndex() < I->start)
1423 if (Uses[Gap+1].getBaseIndex() >= I->end)
1447 ArrayRef<SlotIndex> Uses = SA->getUseSlots();
1448 if (Uses.size() <= 2)
1450 const unsigned NumGaps = Uses.size()-1;
1454 for (unsigned i = 0, e = Uses.size(); i != e; ++i)
1455 dbgs() << ' ' << Uses[i];
1468 Uses.front().getRegSlot()) - RMS.begin();
1471 // Look for Uses[i] <= RMS <= Uses[i+1].
1472 assert(!SlotIndex::isEarlierInstr(RMS[ri], Uses[i]));
1473 if (SlotIndex::isEarlierInstr(Uses[i+1], RMS[ri]))
1477 if (SlotIndex::isSameInstr(Uses[i+1], RMS[ri]) && i+1 == NumGaps)
1479 DEBUG(dbgs() << ' ' << RMS[ri] << ':' << Uses[i] << '-' << Uses[i+1]);
1481 // Advance ri to the next gap. A regmask on one of the uses counts in
1483 while (ri != re && SlotIndex::isEarlierInstr(RMS[ri], Uses[i+1]))
1531 // We will split before Uses[SplitBefore] and after Uses[SplitAfter].
1544 << Uses[SplitBefore] << '-' << Uses[SplitAfter]
1568 Uses[SplitBefore].distance(Uses[SplitAfter]) +
1615 DEBUG(dbgs() << "Best local split range: " << Uses[BestBefore]
1616 << '-' << Uses[BestAfter] << ", " << BestDiff
1623 SlotIndex SegStart = SE->enterIntvBefore(Uses[BestBefore]);
1624 SlotIndex SegStop = SE->leaveIntvAfter(Uses[BestAfter]);