Lines Matching refs:Loop
117 using LoopPropsMap = std::map<const Loop *, LoopProperties>;
145 bool countLoop(const Loop *L, const TargetTransformInfo &TTI,
149 void forgetLoop(const Loop *L);
166 void cloneData(const Loop *NewLoop, const Loop *OldLoop,
177 std::vector<Loop*> LoopProcessWorklist;
184 Loop *currentLoop = nullptr;
212 bool runOnLoop(Loop *L, LPPassManager &LPM) override;
243 void SplitExitEdges(Loop *L,
250 void UnswitchTrivialCondition(Loop *L, Value *Cond, Constant *Val,
252 void UnswitchNontrivialCondition(Value *LIC, Constant *OnVal, Loop *L,
255 void RewriteLoopBodyWithConditionConstant(Loop *L, Value *LIC,
263 void SimplifyCode(std::vector<Instruction*> &Worklist, Loop *L);
275 bool LUAnalysisCache::countLoop(const Loop *L, const TargetTransformInfo &TTI, in countLoop()
299 for (Loop::block_iterator I = L->block_begin(), E = L->block_end(); I != E; in countLoop()
324 void LUAnalysisCache::forgetLoop(const Loop *L) { in forgetLoop()
357 void LUAnalysisCache::cloneData(const Loop *NewLoop, const Loop *OldLoop, in cloneData()
422 static Value *FindLIVLoopCondition(Value *Cond, Loop *L, bool &Changed, in FindLIVLoopCondition()
505 Loop *L, in FindLIVLoopCondition()
518 bool LoopUnswitch::runOnLoop(Loop *L, LPPassManager &LPM_Ref) { in runOnLoop()
713 for (Loop::block_iterator I = currentLoop->block_begin(), in processCurrentLoop()
830 static bool isTrivialLoopExitBlockHelper(Loop *L, BasicBlock *BB, in isTrivialLoopExitBlockHelper()
865 static BasicBlock *isTrivialLoopExitBlock(Loop *L, BasicBlock *BB) { in isTrivialLoopExitBlock()
904 static Loop *CloneLoop(Loop *L, Loop *PL, ValueToValueMapTy &VM, in CloneLoop()
906 Loop &New = *LI->AllocateLoop(); in CloneLoop()
914 for (Loop::block_iterator I = L->block_begin(), E = L->block_end(); in CloneLoop()
920 for (Loop *I : *L) in CloneLoop()
996 void LoopUnswitch::UnswitchTrivialCondition(Loop *L, Value *Cond, Constant *Val, in UnswitchTrivialCondition()
1210 void LoopUnswitch::SplitExitEdges(Loop *L, in SplitExitEdges()
1229 Loop *L, Instruction *TI) { in UnswitchNontrivialCondition()
1287 Loop *NewLoop = CloneLoop(L, L->getParentLoop(), VMap, LI, LPM); in UnswitchNontrivialCondition()
1293 Loop *ParentLoop = L->getParentLoop(); in UnswitchNontrivialCondition()
1303 if (Loop *ExitBBLoop = LI->getLoopFor(ExitBlocks[i])) in UnswitchNontrivialCondition()
1409 Loop *L, LPPassManager *LPM) { in ReplaceUsesOfWith()
1431 void LoopUnswitch::RewriteLoopBodyWithConditionConstant(Loop *L, Value *LIC, in RewriteLoopBodyWithConditionConstant()
1571 void LoopUnswitch::SimplifyCode(std::vector<Instruction*> &Worklist, Loop *L) { in SimplifyCode()