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