Lines Matching refs:LoopChain

515       BlockChain &LoopChain, const MachineBasicBlock *ExitingBB,
518 BlockChain &LoopChain, const MachineLoop &L,
2297 void MachineBlockPlacement::rotateLoop(BlockChain &LoopChain, in rotateLoop() argument
2304 MachineBasicBlock *Top = *LoopChain.begin(); in rotateLoop()
2305 MachineBasicBlock *Bottom = *std::prev(LoopChain.end()); in rotateLoop()
2335 BlockChain::iterator ExitIt = llvm::find(LoopChain, ExitingBB); in rotateLoop()
2336 if (ExitIt == LoopChain.end()) in rotateLoop()
2359 assert(std::next(ExitIt) != LoopChain.end() && in rotateLoop()
2369 std::rotate(LoopChain.begin(), std::next(ExitIt), LoopChain.end()); in rotateLoop()
2386 BlockChain &LoopChain, const MachineLoop &L, in rotateLoopWithProfile() argument
2388 auto RotationPos = LoopChain.end(); in rotateLoopWithProfile()
2389 MachineBasicBlock *ChainHeaderBB = *LoopChain.begin(); in rotateLoopWithProfile()
2432 for (auto BB : LoopChain) { in rotateLoopWithProfile()
2451 for (auto Iter = LoopChain.begin(), TailIter = std::prev(LoopChain.end()), in rotateLoopWithProfile()
2452 EndIter = LoopChain.end(); in rotateLoopWithProfile()
2456 if (TailIter == LoopChain.end()) in rotateLoopWithProfile()
2457 TailIter = LoopChain.begin(); in rotateLoopWithProfile()
2467 if (Iter != LoopChain.begin()) in rotateLoopWithProfile()
2516 if (RotationPos != LoopChain.end()) { in rotateLoopWithProfile()
2519 std::rotate(LoopChain.begin(), RotationPos, LoopChain.end()); in rotateLoopWithProfile()
2605 BlockChain &LoopChain = *BlockToChain[LoopTop]; in buildLoopChains() local
2611 assert(LoopChain.UnscheduledPredecessors == 0 && in buildLoopChains()
2613 UpdatedPreds.insert(&LoopChain); in buildLoopChains()
2618 buildChain(LoopTop, LoopChain, &LoopBlockSet); in buildLoopChains()
2621 rotateLoopWithProfile(LoopChain, L, LoopBlockSet); in buildLoopChains()
2623 rotateLoop(LoopChain, PreferredLoopExit, ExitFreq, LoopBlockSet); in buildLoopChains()
2628 if (LoopChain.UnscheduledPredecessors) { in buildLoopChains()
2632 << " Chain header: " << getBlockName(*LoopChain.begin()) << "\n"; in buildLoopChains()
2634 for (MachineBasicBlock *ChainBB : LoopChain) { in buildLoopChains()
2642 << " Chain header: " << getBlockName(*LoopChain.begin()) << "\n" in buildLoopChains()
2652 << " Chain header: " << getBlockName(*LoopChain.begin()) << "\n" in buildLoopChains()