Lines Matching refs:LoopChain
250 void rotateLoop(BlockChain &LoopChain, MachineBasicBlock *ExitingBB,
756 void MachineBlockPlacement::rotateLoop(BlockChain &LoopChain, in rotateLoop() argument
762 MachineBasicBlock *Top = *LoopChain.begin(); in rotateLoop()
777 MachineBasicBlock *Bottom = *std::prev(LoopChain.end()); in rotateLoop()
787 std::find(LoopChain.begin(), LoopChain.end(), ExitingBB); in rotateLoop()
788 if (ExitIt == LoopChain.end()) in rotateLoop()
791 std::rotate(LoopChain.begin(), std::next(ExitIt), LoopChain.end()); in rotateLoop()
823 BlockChain &LoopChain = *BlockToChain[LoopTop]; in buildLoopChains() local
829 assert(LoopChain.LoopPredecessors == 0); in buildLoopChains()
830 UpdatedPreds.insert(&LoopChain); in buildLoopChains()
850 buildChain(LoopTop, LoopChain, BlockWorkList, &LoopBlockSet); in buildLoopChains()
851 rotateLoop(LoopChain, ExitingBB, LoopBlockSet); in buildLoopChains()
856 if (LoopChain.LoopPredecessors) { in buildLoopChains()
860 << " Chain header: " << getBlockName(*LoopChain.begin()) << "\n"; in buildLoopChains()
862 for (MachineBasicBlock *ChainBB : LoopChain) { in buildLoopChains()
870 << " Chain header: " << getBlockName(*LoopChain.begin()) << "\n" in buildLoopChains()
880 << " Chain header: " << getBlockName(*LoopChain.begin()) << "\n" in buildLoopChains()