Lines Matching refs:Loop
39 Instruction* Loop::GetInductionStepOperation( in GetInductionStepOperation()
88 bool Loop::IsSupportedStepOp(SpvOp step) const { in IsSupportedStepOp()
98 bool Loop::IsSupportedCondition(SpvOp condition) const { in IsSupportedCondition()
120 int64_t Loop::GetResidualConditionValue(SpvOp condition, int64_t initial_value, in GetResidualConditionValue()
148 Instruction* Loop::GetConditionInst() const { in GetConditionInst()
170 bool Loop::GetInductionInitValue(const Instruction* induction, in GetInductionInitValue()
207 Loop::Loop(IRContext* context, DominatorAnalysis* dom_analysis, in Loop() function in spvtools::opt::Loop
223 BasicBlock* Loop::FindLoopPreheader(DominatorAnalysis* dom_analysis) { in FindLoopPreheader()
262 bool Loop::IsInsideLoop(Instruction* inst) const { in IsInsideLoop()
268 bool Loop::IsBasicBlockInLoopSlow(const BasicBlock* bb) { in IsBasicBlockInLoopSlow()
279 BasicBlock* Loop::GetOrCreatePreHeaderBlock() { in GetOrCreatePreHeaderBlock()
287 void Loop::SetContinueBlock(BasicBlock* continue_block) { in SetContinueBlock()
292 void Loop::SetLatchBlock(BasicBlock* latch) { in SetLatchBlock()
307 void Loop::SetMergeBlock(BasicBlock* merge) { in SetMergeBlock()
319 void Loop::SetPreHeaderBlock(BasicBlock* preheader) { in SetPreHeaderBlock()
333 BasicBlock* Loop::FindLatchBlock() { in FindLatchBlock()
355 void Loop::GetExitBlocks(std::unordered_set<uint32_t>* exit_blocks) const { in GetExitBlocks()
369 void Loop::GetMergingBlocks( in GetMergingBlocks()
402 bool Loop::IsSafeToClone() const { in IsSafeToClone()
426 bool Loop::IsLCSSA() const { in IsLCSSA()
456 bool Loop::ShouldHoistInstruction(IRContext* context, Instruction* inst) { in ShouldHoistInstruction()
461 bool Loop::AreAllOperandsOutsideLoop(IRContext* context, Instruction* inst) { in AreAllOperandsOutsideLoop()
477 void Loop::ComputeLoopStructuredOrder( in ComputeLoopStructuredOrder()
542 Loop* current_loop = in PopulateList()
543 new Loop(context, dom_analysis, header_bb, continue_bb, merge_bb); in PopulateList()
549 Loop* previous_loop = *itr; in PopulateList()
577 for (Loop* loop : loops_) { in PopulateList()
582 std::vector<Loop*> LoopDescriptor::GetLoopsInBinaryLayoutOrder() { in GetLoopsInBinaryLayoutOrder()
589 std::vector<Loop*> loops{}; in GetLoopsInBinaryLayoutOrder()
605 BasicBlock* Loop::FindConditionBlock() const { in FindConditionBlock()
644 bool Loop::FindNumberOfIterations(const Instruction* induction, in FindNumberOfIterations()
742 int64_t Loop::GetIterations(SpvOp condition, int64_t condition_value, in GetIterations()
836 void Loop::GetInductionVariables( in GetInductionVariables()
845 Instruction* Loop::FindConditionVariable( in FindConditionVariable()
929 for (Loop* loop : loops_) { in PostModificationCleanup()
938 for (Loop* loop : loops_to_remove_) { in PostModificationCleanup()
943 Loop* parent = pair.first; in PostModificationCleanup()
944 Loop* loop = pair.second; in PostModificationCleanup()
962 for (Loop* loop : loops_) { in ClearLoops()
969 Loop* LoopDescriptor::AddLoopNest(std::unique_ptr<Loop> new_loop) { in AddLoopNest()
970 Loop* loop = new_loop.release(); in AddLoopNest()
974 for (Loop& current_loop : in AddLoopNest()
984 void LoopDescriptor::RemoveLoop(Loop* loop) { in RemoveLoop()
985 Loop* parent = loop->GetParent() ? loop->GetParent() : &dummy_top_loop_; in RemoveLoop()
990 [loop](Loop* sub_loop) { sub_loop->SetParent(loop->GetParent()); }); in RemoveLoop()
995 Loop* l = FindLoopForBasicBlock(bb_id); in RemoveLoop()