Lines Matching defs:LoopChain

542       BlockChain &LoopChain, const MachineBasicBlock *ExitingBB,
545 BlockChain &LoopChain, const MachineLoop &L,
2368 void MachineBlockPlacement::rotateLoop(BlockChain &LoopChain,
2375 MachineBasicBlock *Top = *LoopChain.begin();
2376 MachineBasicBlock *Bottom = *std::prev(LoopChain.end());
2406 BlockChain::iterator ExitIt = llvm::find(LoopChain, ExitingBB);
2407 if (ExitIt == LoopChain.end())
2430 assert(std::next(ExitIt) != LoopChain.end() &&
2440 std::rotate(LoopChain.begin(), std::next(ExitIt), LoopChain.end());
2457 BlockChain &LoopChain, const MachineLoop &L,
2459 auto RotationPos = LoopChain.end();
2460 MachineBasicBlock *ChainHeaderBB = *LoopChain.begin();
2503 for (auto *BB : LoopChain) {
2522 for (auto Iter = LoopChain.begin(), TailIter = std::prev(LoopChain.end()),
2523 EndIter = LoopChain.end();
2527 if (TailIter == LoopChain.end())
2528 TailIter = LoopChain.begin();
2538 if (Iter != LoopChain.begin())
2586 if (RotationPos != LoopChain.end()) {
2589 std::rotate(LoopChain.begin(), RotationPos, LoopChain.end());
2675 BlockChain &LoopChain = *BlockToChain[LoopTop];
2681 assert(LoopChain.UnscheduledPredecessors == 0 &&
2682 "LoopChain should not have unscheduled predecessors.");
2683 UpdatedPreds.insert(&LoopChain);
2688 buildChain(LoopTop, LoopChain, &LoopBlockSet);
2691 rotateLoopWithProfile(LoopChain, L, LoopBlockSet);
2693 rotateLoop(LoopChain, PreferredLoopExit, ExitFreq, LoopBlockSet);
2698 if (LoopChain.UnscheduledPredecessors) {
2702 << " Chain header: " << getBlockName(*LoopChain.begin()) << "\n";
2704 for (MachineBasicBlock *ChainBB : LoopChain) {
2712 << " Chain header: " << getBlockName(*LoopChain.begin()) << "\n"
2722 << " Chain header: " << getBlockName(*LoopChain.begin()) << "\n"