Lines Matching refs:loop_

43   BasicBlock* pre_header = loop_->GetOrCreatePreHeaderBlock();  in DuplicateAndConnectLoop()
45 loop_->ComputeLoopStructuredOrder(&ordered_loop_blocks); in DuplicateAndConnectLoop()
63 cfg.RemoveEdge(pre_header->id(), loop_->GetHeaderBlock()->id()); in DuplicateAndConnectLoop()
65 loop_->SetPreHeaderBlock(nullptr); in DuplicateAndConnectLoop()
73 for (uint32_t pred_id : cfg.preds(loop_->GetMergeBlock()->id())) { in DuplicateAndConnectLoop()
74 if (loop_->IsInsideLoop(pred_id)) continue; in DuplicateAndConnectLoop()
79 if (*succ == loop_->GetMergeBlock()->id()) in DuplicateAndConnectLoop()
80 *succ = loop_->GetHeaderBlock()->id(); in DuplicateAndConnectLoop()
85 cfg.RemoveNonExistingEdges(loop_->GetMergeBlock()->id()); in DuplicateAndConnectLoop()
86 cfg.AddEdge(cloned_loop_exit, loop_->GetHeaderBlock()->id()); in DuplicateAndConnectLoop()
118 loop_->GetHeaderBlock()->ForEachPhiInst([cloned_loop_exit, def_use_mgr, in DuplicateAndConnectLoop()
122 if (!loop_->IsInsideLoop(phi->GetSingleWordInOperand(i + 1))) { in DuplicateAndConnectLoop()
136 cloned_loop_->SetMergeBlock(loop_->GetOrCreatePreHeaderBlock()); in DuplicateAndConnectLoop()
221 uint32_t condition_block_id = cfg.preds(loop_->GetMergeBlock()->id())[0]; in IsConditionCheckSideEffectFree()
226 GetBlocksInPath(condition_block_id, loop_->GetHeaderBlock()->id(), in IsConditionCheckSideEffectFree()
254 loop_->GetHeaderBlock()->ForEachPhiInst( in GetIteratingExitValues()
257 if (!loop_->GetMergeBlock()) { in GetIteratingExitValues()
260 if (cfg.preds(loop_->GetMergeBlock()->id()).size() != 1) { in GetIteratingExitValues()
265 uint32_t condition_block_id = cfg.preds(loop_->GetMergeBlock()->id())[0]; in GetIteratingExitValues()
267 auto& header_pred = cfg.preds(loop_->GetHeaderBlock()->id()); in GetIteratingExitValues()
271 loop_->GetHeaderBlock()->ForEachPhiInst( in GetIteratingExitValues()
288 loop_->GetHeaderBlock()->ForEachPhiInst( in GetIteratingExitValues()
294 GetIteratorUpdateOperations(loop_, phi, &operations); in GetIteratingExitValues()
450 BasicBlock* if_merge_block = loop_->GetMergeBlock(); in PeelBefore()
451 loop_->SetMergeBlock(CreateBlockBefore(loop_->GetMergeBlock())); in PeelBefore()
455 ProtectLoop(loop_, has_remaining_iteration, if_merge_block); in PeelBefore()
774 if (bb && loop_->IsInsideLoop(bb)) { in GetFirstLoopInvariantOperand()
787 if (!bb || !loop_->IsInsideLoop(bb)) { in GetFirstNonLoopInvariantOperand()
854 bool is_lhs_rec = !scev_analysis_->IsLoopInvariant(loop_, lhs); in GetPeelingInfo()
855 bool is_rhs_rec = !scev_analysis_->IsLoopInvariant(loop_, rhs); in GetPeelingInfo()
863 lhs->AsSERecurrentNode()->GetLoop() != loop_) { in GetPeelingInfo()
869 rhs->AsSERecurrentNode()->GetLoop() != loop_) { in GetPeelingInfo()
963 assert(scev_analysis_->IsLoopInvariant(loop_, lhs)); in EvalOperator()
964 assert(scev_analysis_->IsLoopInvariant(loop_, rhs)); in EvalOperator()