Lines Matching refs:Block
1090 SIScheduleBlock *Block = CurrentBlocks[i]; in createBlocksForVariant() local
1091 Block->finalizeUnits(); in createBlocksForVariant()
1096 SIScheduleBlock *Block = CurrentBlocks[i]; in createBlocksForVariant()
1097 Block->printDebug(true); in createBlocksForVariant()
1140 SIScheduleBlock *Block = CurrentBlocks[i]; in topologicalSort() local
1141 unsigned Degree = Block->getSuccs().size(); in topologicalSort()
1151 SIScheduleBlock *Block = CurrentBlocks[i]; in topologicalSort() local
1155 for (SIScheduleBlock* Pred : Block->getPreds()) { in topologicalSort()
1164 SIScheduleBlock *Block = CurrentBlocks[i]; in topologicalSort() local
1165 for (SIScheduleBlock* Pred : Block->getPreds()) { in topologicalSort()
1185 SIScheduleBlock *Block = CurrentBlocks[i]; in scheduleInsideBlocks() local
1186 Block->fastSchedule(); in scheduleInsideBlocks()
1201 SIScheduleBlock *Block = CurrentBlocks[BlockIndice]; in scheduleInsideBlocks() local
1202 std::vector<SUnit*> SUs = Block->getScheduledUnits(); in scheduleInsideBlocks()
1232 SIScheduleBlock *Block = CurrentBlocks[i]; in scheduleInsideBlocks() local
1233 std::vector<SUnit*> SUs = Block->getScheduledUnits(); in scheduleInsideBlocks()
1234 Block->schedule((*SUs.begin())->getInstr(), (*SUs.rbegin())->getInstr()); in scheduleInsideBlocks()
1253 SIScheduleBlock *Block = CurrentBlocks[i]; in scheduleInsideBlocks()
1254 Block->printDebug(true); in scheduleInsideBlocks()
1264 SIScheduleBlock *Block = CurrentBlocks[BlockIndice]; in fillStats() local
1265 if (Block->getPreds().size() == 0) in fillStats()
1266 Block->Depth = 0; in fillStats()
1269 for (SIScheduleBlock *Pred : Block->getPreds()) { in fillStats()
1273 Block->Depth = Depth; in fillStats()
1279 SIScheduleBlock *Block = CurrentBlocks[BlockIndice]; in fillStats() local
1280 if (Block->getSuccs().size() == 0) in fillStats()
1281 Block->Height = 0; in fillStats()
1284 for (SIScheduleBlock *Succ : Block->getSuccs()) { in fillStats()
1288 Block->Height = Height; in fillStats()
1314 SIScheduleBlock *Block = Blocks[i]; in SIScheduleBlockScheduler() local
1315 for (unsigned Reg : Block->getInRegs()) { in SIScheduleBlockScheduler()
1318 for (SIScheduleBlock* Pred: Block->getPreds()) { in SIScheduleBlockScheduler()
1349 SIScheduleBlock *Block = Blocks[i]; in SIScheduleBlockScheduler() local
1350 BlockNumPredsLeft[i] = Block->getPreds().size(); in SIScheduleBlockScheduler()
1351 BlockNumSuccsLeft[i] = Block->getSuccs().size(); in SIScheduleBlockScheduler()
1356 SIScheduleBlock *Block = Blocks[i]; in SIScheduleBlockScheduler() local
1357 assert(Block->getID() == i); in SIScheduleBlockScheduler()
1367 SIScheduleBlock *Block = Blocks[i]; in SIScheduleBlockScheduler() local
1368 for (unsigned Reg : Block->getInRegs()) { in SIScheduleBlockScheduler()
1370 for (SIScheduleBlock* Pred: Block->getPreds()) { in SIScheduleBlockScheduler()
1390 SIScheduleBlock *Block = Blocks[i]; in SIScheduleBlockScheduler() local
1392 ReadyBlocks.push_back(Block); in SIScheduleBlockScheduler()
1396 while (SIScheduleBlock *Block = pickBlock()) { in SIScheduleBlockScheduler() local
1397 BlocksScheduled.push_back(Block); in SIScheduleBlockScheduler()
1398 blockScheduled(Block); in SIScheduleBlockScheduler()
1403 for (SIScheduleBlock* Block : BlocksScheduled) { in SIScheduleBlockScheduler()
1404 dbgs() << ' ' << Block->getID(); in SIScheduleBlockScheduler()
1459 SIScheduleBlock *Block; in pickBlock() local
1472 for (SIScheduleBlock* Block : ReadyBlocks) in pickBlock()
1473 dbgs() << Block->getID() << ' '; in pickBlock()
1482 Cand.Block = nullptr; in pickBlock()
1486 TryCand.Block = *I; in pickBlock()
1487 TryCand.IsHighLatency = TryCand.Block->isHighLatencyBlock(); in pickBlock()
1489 checkRegUsageImpact(TryCand.Block->getInRegs(), in pickBlock()
1490 TryCand.Block->getOutRegs())[DAG->getVGPRSetID()]; in pickBlock()
1491 TryCand.NumSuccessors = TryCand.Block->getSuccs().size(); in pickBlock()
1493 TryCand.Block->getNumHighLatencySuccessors(); in pickBlock()
1496 LastPosHighLatencyParentScheduled[TryCand.Block->getID()] - in pickBlock()
1498 TryCand.Height = TryCand.Block->Height; in pickBlock()
1512 DEBUG(dbgs() << "Best Current Choice: " << Cand.Block->getID() << ' ' in pickBlock()
1518 dbgs() << "Picking: " << Cand.Block->getID() << '\n'; in pickBlock()
1527 Block = Cand.Block; in pickBlock()
1529 return Block; in pickBlock()
1544 void SIScheduleBlockScheduler::decreaseLiveRegs(SIScheduleBlock *Block, in decreaseLiveRegs() argument
1559 for (SIScheduleBlock* Block : Parent->getSuccs()) { in releaseBlockSuccs()
1560 --BlockNumPredsLeft[Block->getID()]; in releaseBlockSuccs()
1561 if (BlockNumPredsLeft[Block->getID()] == 0) { in releaseBlockSuccs()
1562 ReadyBlocks.push_back(Block); in releaseBlockSuccs()
1569 LastPosHighLatencyParentScheduled[Block->getID()] = NumBlockScheduled; in releaseBlockSuccs()
1573 void SIScheduleBlockScheduler::blockScheduled(SIScheduleBlock *Block) { in blockScheduled() argument
1574 decreaseLiveRegs(Block, Block->getInRegs()); in blockScheduled()
1575 addLiveRegs(Block->getOutRegs()); in blockScheduled()
1576 releaseBlockSuccs(Block); in blockScheduled()
1578 LiveOutRegsNumUsages[Block->getID()].begin(), in blockScheduled()
1579 E = LiveOutRegsNumUsages[Block->getID()].end(); RegI != E; ++RegI) { in blockScheduled()
1588 if (LastPosHighLatencyParentScheduled[Block->getID()] > in blockScheduled()
1591 LastPosHighLatencyParentScheduled[Block->getID()]; in blockScheduled()
1639 SIScheduleBlock *Block = ScheduledBlocks[b]; in scheduleVariant() local
1640 std::vector<SUnit*> SUs = Block->getScheduledUnits(); in scheduleVariant()