Lines Matching refs:Block
1236 SIScheduleBlock *Block = CurrentBlocks[i]; in createBlocksForVariant() local
1237 Block->finalizeUnits(); in createBlocksForVariant()
1241 SIScheduleBlock *Block = CurrentBlocks[i]; in createBlocksForVariant()
1242 Block->printDebug(true); in createBlocksForVariant()
1271 SIScheduleBlock *Block = CurrentBlocks[i]; in topologicalSort() local
1272 unsigned Degree = Block->getSuccs().size(); in topologicalSort()
1282 SIScheduleBlock *Block = CurrentBlocks[i]; in topologicalSort() local
1286 for (SIScheduleBlock* Pred : Block->getPreds()) { in topologicalSort()
1295 SIScheduleBlock *Block = CurrentBlocks[i]; in topologicalSort() local
1296 for (SIScheduleBlock* Pred : Block->getPreds()) { in topologicalSort()
1316 SIScheduleBlock *Block = CurrentBlocks[i]; in scheduleInsideBlocks() local
1317 Block->fastSchedule(); in scheduleInsideBlocks()
1332 SIScheduleBlock *Block = CurrentBlocks[BlockIndice]; in scheduleInsideBlocks() local
1333 std::vector<SUnit*> SUs = Block->getScheduledUnits(); in scheduleInsideBlocks()
1363 SIScheduleBlock *Block = CurrentBlocks[i]; in scheduleInsideBlocks() local
1364 std::vector<SUnit*> SUs = Block->getScheduledUnits(); in scheduleInsideBlocks()
1365 Block->schedule((*SUs.begin())->getInstr(), (*SUs.rbegin())->getInstr()); in scheduleInsideBlocks()
1383 SIScheduleBlock *Block = CurrentBlocks[i]; in scheduleInsideBlocks()
1384 Block->printDebug(true); in scheduleInsideBlocks()
1393 SIScheduleBlock *Block = CurrentBlocks[BlockIndice]; in fillStats() local
1394 if (Block->getPreds().empty()) in fillStats()
1395 Block->Depth = 0; in fillStats()
1398 for (SIScheduleBlock *Pred : Block->getPreds()) { in fillStats()
1402 Block->Depth = Depth; in fillStats()
1408 SIScheduleBlock *Block = CurrentBlocks[BlockIndice]; in fillStats() local
1409 if (Block->getSuccs().empty()) in fillStats()
1410 Block->Height = 0; in fillStats()
1413 for (const auto &Succ : Block->getSuccs()) in fillStats()
1415 Block->Height = Height; in fillStats()
1441 SIScheduleBlock *Block = Blocks[i]; in SIScheduleBlockScheduler() local
1442 for (unsigned Reg : Block->getInRegs()) { in SIScheduleBlockScheduler()
1445 for (SIScheduleBlock* Pred: Block->getPreds()) { in SIScheduleBlockScheduler()
1470 SIScheduleBlock *Block = Blocks[i]; in SIScheduleBlockScheduler() local
1471 BlockNumPredsLeft[i] = Block->getPreds().size(); in SIScheduleBlockScheduler()
1472 BlockNumSuccsLeft[i] = Block->getSuccs().size(); in SIScheduleBlockScheduler()
1477 SIScheduleBlock *Block = Blocks[i]; in SIScheduleBlockScheduler() local
1478 assert(Block->getID() == i); in SIScheduleBlockScheduler()
1492 SIScheduleBlock *Block = Blocks[ID]; in SIScheduleBlockScheduler() local
1493 const std::set<unsigned> &OutRegs = Block->getOutRegs(); in SIScheduleBlockScheduler()
1506 SIScheduleBlock *Block = Blocks[i]; in SIScheduleBlockScheduler() local
1507 for (unsigned Reg : Block->getInRegs()) { in SIScheduleBlockScheduler()
1509 for (SIScheduleBlock* Pred: Block->getPreds()) { in SIScheduleBlockScheduler()
1525 SIScheduleBlock *Block = Blocks[i]; in SIScheduleBlockScheduler() local
1527 ReadyBlocks.push_back(Block); in SIScheduleBlockScheduler()
1531 while (SIScheduleBlock *Block = pickBlock()) { in SIScheduleBlockScheduler() local
1532 BlocksScheduled.push_back(Block); in SIScheduleBlockScheduler()
1533 blockScheduled(Block); in SIScheduleBlockScheduler()
1536 LLVM_DEBUG(dbgs() << "Block Order:"; for (SIScheduleBlock *Block in SIScheduleBlockScheduler()
1538 dbgs() << ' ' << Block->getID(); in SIScheduleBlockScheduler()
1592 SIScheduleBlock *Block; in pickBlock() local
1603 for (SIScheduleBlock *Block in pickBlock()
1605 << Block->getID() << ' '; in pickBlock()
1614 Cand.Block = nullptr; in pickBlock()
1618 TryCand.Block = *I; in pickBlock()
1619 TryCand.IsHighLatency = TryCand.Block->isHighLatencyBlock(); in pickBlock()
1621 checkRegUsageImpact(TryCand.Block->getInRegs(), in pickBlock()
1622 TryCand.Block->getOutRegs())[AMDGPU::RegisterPressureSets::VGPR_32]; in pickBlock()
1623 TryCand.NumSuccessors = TryCand.Block->getSuccs().size(); in pickBlock()
1625 TryCand.Block->getNumHighLatencySuccessors(); in pickBlock()
1628 LastPosHighLatencyParentScheduled[TryCand.Block->getID()] - in pickBlock()
1630 TryCand.Height = TryCand.Block->Height; in pickBlock()
1644 LLVM_DEBUG(dbgs() << "Best Current Choice: " << Cand.Block->getID() << ' ' in pickBlock()
1649 LLVM_DEBUG(dbgs() << "Picking: " << Cand.Block->getID() << '\n'; in pickBlock()
1657 Block = Cand.Block; in pickBlock()
1659 return Block; in pickBlock()
1674 void SIScheduleBlockScheduler::decreaseLiveRegs(SIScheduleBlock *Block, in decreaseLiveRegs() argument
1689 for (const auto &Block : Parent->getSuccs()) { in releaseBlockSuccs() local
1690 if (--BlockNumPredsLeft[Block.first->getID()] == 0) in releaseBlockSuccs()
1691 ReadyBlocks.push_back(Block.first); in releaseBlockSuccs()
1694 Block.second == SIScheduleBlockLinkKind::Data) in releaseBlockSuccs()
1695 LastPosHighLatencyParentScheduled[Block.first->getID()] = NumBlockScheduled; in releaseBlockSuccs()
1699 void SIScheduleBlockScheduler::blockScheduled(SIScheduleBlock *Block) { in blockScheduled() argument
1700 decreaseLiveRegs(Block, Block->getInRegs()); in blockScheduled()
1701 addLiveRegs(Block->getOutRegs()); in blockScheduled()
1702 releaseBlockSuccs(Block); in blockScheduled()
1704 LiveOutRegsNumUsages[Block->getID()].begin(), in blockScheduled()
1705 E = LiveOutRegsNumUsages[Block->getID()].end(); RegI != E; ++RegI) { in blockScheduled()
1712 if (LastPosHighLatencyParentScheduled[Block->getID()] > in blockScheduled()
1715 LastPosHighLatencyParentScheduled[Block->getID()]; in blockScheduled()
1763 SIScheduleBlock *Block = ScheduledBlocks[b]; in scheduleVariant() local
1764 std::vector<SUnit*> SUs = Block->getScheduledUnits(); in scheduleVariant()