Lines Matching defs:Block
68 // right away, to be contained in a block. Block inputs and outputs would
530 "Loop in the Block Graph!");
552 "Loop in the Block Graph!");
557 dbgs() << "Block (" << ID << ")\n";
1211 for (SIScheduleBlock *Block : CurrentBlocks)
1212 Block->finalizeUnits();
1215 for (SIScheduleBlock *Block : CurrentBlocks)
1216 Block->printDebug(true);
1245 SIScheduleBlock *Block = CurrentBlocks[i];
1246 unsigned Degree = Block->getSuccs().size();
1256 SIScheduleBlock *Block = CurrentBlocks[i];
1260 for (SIScheduleBlock* Pred : Block->getPreds()) {
1269 SIScheduleBlock *Block = CurrentBlocks[i];
1270 for (SIScheduleBlock* Pred : Block->getPreds()) {
1286 // We do schedule a valid scheduling such that a Block corresponds
1290 SIScheduleBlock *Block = CurrentBlocks[i];
1291 Block->fastSchedule();
1306 SIScheduleBlock *Block = CurrentBlocks[BlockIndice];
1307 std::vector<SUnit*> SUs = Block->getScheduledUnits();
1332 // Now we have Block of SUs == Block of MI.
1334 // The property that all the SUs of the Block are grouped together as MI
1337 SIScheduleBlock *Block = CurrentBlocks[i];
1338 std::vector<SUnit*> SUs = Block->getScheduledUnits();
1339 Block->schedule((*SUs.begin())->getInstr(), (*SUs.rbegin())->getInstr());
1357 for (SIScheduleBlock *Block : CurrentBlocks)
1358 Block->printDebug(true);
1367 SIScheduleBlock *Block = CurrentBlocks[BlockIndice];
1368 if (Block->getPreds().empty())
1369 Block->Depth = 0;
1372 for (SIScheduleBlock *Pred : Block->getPreds()) {
1376 Block->Depth = Depth;
1382 SIScheduleBlock *Block = CurrentBlocks[BlockIndice];
1383 if (Block->getSuccs().empty())
1384 Block->Height = 0;
1387 for (const auto &Succ : Block->getSuccs())
1389 Block->Height = Height;
1414 for (SIScheduleBlock *Block : Blocks) {
1415 for (Register Reg : Block->getInRegs()) {
1418 for (SIScheduleBlock* Pred: Block->getPreds()) {
1443 SIScheduleBlock *Block = Blocks[i];
1444 BlockNumPredsLeft[i] = Block->getPreds().size();
1445 BlockNumSuccsLeft[i] = Block->getSuccs().size();
1450 SIScheduleBlock *Block = Blocks[i];
1451 assert(Block->getID() == i);
1465 SIScheduleBlock *Block = Blocks[ID];
1466 const std::set<Register> &OutRegs = Block->getOutRegs();
1478 for (SIScheduleBlock *Block : Blocks) {
1479 for (Register Reg : Block->getInRegs()) {
1481 for (SIScheduleBlock* Pred: Block->getPreds()) {
1497 SIScheduleBlock *Block = Blocks[i];
1499 ReadyBlocks.push_back(Block);
1503 while (SIScheduleBlock *Block = pickBlock()) {
1504 BlocksScheduled.push_back(Block);
1505 blockScheduled(Block);
1508 LLVM_DEBUG(dbgs() << "Block Order:"; for (SIScheduleBlock *Block
1510 dbgs() << ' ' << Block->getID();
1564 SIScheduleBlock *Block;
1575 for (SIScheduleBlock *Block : ReadyBlocks)
1576 dbgs() << Block->getID() << ' ';
1584 Cand.Block = nullptr;
1588 TryCand.Block = *I;
1589 TryCand.IsHighLatency = TryCand.Block->isHighLatencyBlock();
1591 checkRegUsageImpact(TryCand.Block->getInRegs(),
1592 TryCand.Block->getOutRegs())[AMDGPU::RegisterPressureSets::VGPR_32];
1593 TryCand.NumSuccessors = TryCand.Block->getSuccs().size();
1595 TryCand.Block->getNumHighLatencySuccessors();
1598 LastPosHighLatencyParentScheduled[TryCand.Block->getID()] -
1600 TryCand.Height = TryCand.Block->Height;
1614 LLVM_DEBUG(dbgs() << "Best Current Choice: " << Cand.Block->getID() << ' '
1619 LLVM_DEBUG(dbgs() << "Picking: " << Cand.Block->getID() << '\n';
1627 Block = Cand.Block;
1629 return Block;
1644 void SIScheduleBlockScheduler::decreaseLiveRegs(SIScheduleBlock *Block,
1659 for (const auto &Block : Parent->getSuccs()) {
1660 if (--BlockNumPredsLeft[Block.first->getID()] == 0)
1661 ReadyBlocks.push_back(Block.first);
1664 Block.second == SIScheduleBlockLinkKind::Data)
1665 LastPosHighLatencyParentScheduled[Block.first->getID()] = NumBlockScheduled;
1669 void SIScheduleBlockScheduler::blockScheduled(SIScheduleBlock *Block) {
1670 decreaseLiveRegs(Block, Block->getInRegs());
1671 addLiveRegs(Block->getOutRegs());
1672 releaseBlockSuccs(Block);
1673 for (const auto &RegP : LiveOutRegsNumUsages[Block->getID()]) {
1679 if (LastPosHighLatencyParentScheduled[Block->getID()] >
1682 LastPosHighLatencyParentScheduled[Block->getID()];
1729 for (SIScheduleBlock *Block : ScheduledBlocks) {
1730 std::vector<SUnit*> SUs = Block->getScheduledUnits();