Lines Matching refs:Block

1205   for (SIScheduleBlock *Block : CurrentBlocks)  in createBlocksForVariant()
1206 Block->finalizeUnits(); in createBlocksForVariant()
1209 for (SIScheduleBlock *Block : CurrentBlocks) in createBlocksForVariant()
1210 Block->printDebug(true); in createBlocksForVariant()
1239 SIScheduleBlock *Block = CurrentBlocks[i]; in topologicalSort() local
1240 unsigned Degree = Block->getSuccs().size(); in topologicalSort()
1250 SIScheduleBlock *Block = CurrentBlocks[i]; in topologicalSort() local
1254 for (SIScheduleBlock* Pred : Block->getPreds()) { in topologicalSort()
1263 SIScheduleBlock *Block = CurrentBlocks[i]; in topologicalSort() local
1264 for (SIScheduleBlock* Pred : Block->getPreds()) { in topologicalSort()
1284 SIScheduleBlock *Block = CurrentBlocks[i]; in scheduleInsideBlocks() local
1285 Block->fastSchedule(); in scheduleInsideBlocks()
1300 SIScheduleBlock *Block = CurrentBlocks[BlockIndice]; in scheduleInsideBlocks() local
1301 std::vector<SUnit*> SUs = Block->getScheduledUnits(); in scheduleInsideBlocks()
1331 SIScheduleBlock *Block = CurrentBlocks[i]; in scheduleInsideBlocks() local
1332 std::vector<SUnit*> SUs = Block->getScheduledUnits(); in scheduleInsideBlocks()
1333 Block->schedule((*SUs.begin())->getInstr(), (*SUs.rbegin())->getInstr()); in scheduleInsideBlocks()
1351 for (SIScheduleBlock *Block : CurrentBlocks) in scheduleInsideBlocks()
1352 Block->printDebug(true); in scheduleInsideBlocks()
1361 SIScheduleBlock *Block = CurrentBlocks[BlockIndice]; in fillStats() local
1362 if (Block->getPreds().empty()) in fillStats()
1363 Block->Depth = 0; in fillStats()
1366 for (SIScheduleBlock *Pred : Block->getPreds()) { in fillStats()
1370 Block->Depth = Depth; in fillStats()
1376 SIScheduleBlock *Block = CurrentBlocks[BlockIndice]; in fillStats() local
1377 if (Block->getSuccs().empty()) in fillStats()
1378 Block->Height = 0; in fillStats()
1381 for (const auto &Succ : Block->getSuccs()) in fillStats()
1383 Block->Height = Height; in fillStats()
1408 for (SIScheduleBlock *Block : Blocks) { in SIScheduleBlockScheduler()
1409 for (Register Reg : Block->getInRegs()) { in SIScheduleBlockScheduler()
1412 for (SIScheduleBlock* Pred: Block->getPreds()) { in SIScheduleBlockScheduler()
1437 SIScheduleBlock *Block = Blocks[i]; in SIScheduleBlockScheduler() local
1438 BlockNumPredsLeft[i] = Block->getPreds().size(); in SIScheduleBlockScheduler()
1439 BlockNumSuccsLeft[i] = Block->getSuccs().size(); in SIScheduleBlockScheduler()
1444 SIScheduleBlock *Block = Blocks[i]; in SIScheduleBlockScheduler() local
1445 assert(Block->getID() == i); in SIScheduleBlockScheduler()
1459 SIScheduleBlock *Block = Blocks[ID]; in SIScheduleBlockScheduler() local
1460 const std::set<Register> &OutRegs = Block->getOutRegs(); in SIScheduleBlockScheduler()
1472 for (SIScheduleBlock *Block : Blocks) { in SIScheduleBlockScheduler()
1473 for (Register Reg : Block->getInRegs()) { in SIScheduleBlockScheduler()
1475 for (SIScheduleBlock* Pred: Block->getPreds()) { in SIScheduleBlockScheduler()
1491 SIScheduleBlock *Block = Blocks[i]; in SIScheduleBlockScheduler() local
1493 ReadyBlocks.push_back(Block); in SIScheduleBlockScheduler()
1497 while (SIScheduleBlock *Block = pickBlock()) { in SIScheduleBlockScheduler() local
1498 BlocksScheduled.push_back(Block); in SIScheduleBlockScheduler()
1499 blockScheduled(Block); in SIScheduleBlockScheduler()
1502 LLVM_DEBUG(dbgs() << "Block Order:"; for (SIScheduleBlock *Block in SIScheduleBlockScheduler()
1504 dbgs() << ' ' << Block->getID(); in SIScheduleBlockScheduler()
1558 SIScheduleBlock *Block; in pickBlock() local
1569 for (SIScheduleBlock *Block : ReadyBlocks) in pickBlock()
1570 dbgs() << Block->getID() << ' '; in pickBlock()
1578 Cand.Block = nullptr; in pickBlock()
1582 TryCand.Block = *I; in pickBlock()
1583 TryCand.IsHighLatency = TryCand.Block->isHighLatencyBlock(); in pickBlock()
1585 checkRegUsageImpact(TryCand.Block->getInRegs(), in pickBlock()
1586 TryCand.Block->getOutRegs())[AMDGPU::RegisterPressureSets::VGPR_32]; in pickBlock()
1587 TryCand.NumSuccessors = TryCand.Block->getSuccs().size(); in pickBlock()
1589 TryCand.Block->getNumHighLatencySuccessors(); in pickBlock()
1592 LastPosHighLatencyParentScheduled[TryCand.Block->getID()] - in pickBlock()
1594 TryCand.Height = TryCand.Block->Height; in pickBlock()
1608 LLVM_DEBUG(dbgs() << "Best Current Choice: " << Cand.Block->getID() << ' ' in pickBlock()
1613 LLVM_DEBUG(dbgs() << "Picking: " << Cand.Block->getID() << '\n'; in pickBlock()
1621 Block = Cand.Block; in pickBlock()
1623 return Block; in pickBlock()
1638 void SIScheduleBlockScheduler::decreaseLiveRegs(SIScheduleBlock *Block, in decreaseLiveRegs() argument
1653 for (const auto &Block : Parent->getSuccs()) { in releaseBlockSuccs() local
1654 if (--BlockNumPredsLeft[Block.first->getID()] == 0) in releaseBlockSuccs()
1655 ReadyBlocks.push_back(Block.first); in releaseBlockSuccs()
1658 Block.second == SIScheduleBlockLinkKind::Data) in releaseBlockSuccs()
1659 LastPosHighLatencyParentScheduled[Block.first->getID()] = NumBlockScheduled; in releaseBlockSuccs()
1663 void SIScheduleBlockScheduler::blockScheduled(SIScheduleBlock *Block) { in blockScheduled() argument
1664 decreaseLiveRegs(Block, Block->getInRegs()); in blockScheduled()
1665 addLiveRegs(Block->getOutRegs()); in blockScheduled()
1666 releaseBlockSuccs(Block); in blockScheduled()
1667 for (const auto &RegP : LiveOutRegsNumUsages[Block->getID()]) { in blockScheduled()
1673 if (LastPosHighLatencyParentScheduled[Block->getID()] > in blockScheduled()
1676 LastPosHighLatencyParentScheduled[Block->getID()]; in blockScheduled()
1723 for (SIScheduleBlock *Block : ScheduledBlocks) { in scheduleVariant()
1724 std::vector<SUnit*> SUs = Block->getScheduledUnits(); in scheduleVariant()