Lines Matching refs:Loop

86     typedef std::map<const Loop*, LoopProperties> LoopPropsMap;
105 bool countLoop(const Loop *L, const TargetTransformInfo &TTI);
108 void forgetLoop(const Loop *L);
121 void cloneData(const Loop *NewLoop, const Loop *OldLoop,
126 LoopInfo *LI; // Loop information
131 std::vector<Loop*> LoopProcessWorklist;
138 Loop *currentLoop;
159 bool runOnLoop(Loop *L, LPPassManager &LPM);
185 void RemoveLoopFromWorklist(Loop *L) {
186 std::vector<Loop*>::iterator I = std::find(LoopProcessWorklist.begin(),
199 void SplitExitEdges(Loop *L, const SmallVectorImpl<BasicBlock *> &ExitBlocks);
202 void UnswitchTrivialCondition(Loop *L, Value *Cond, Constant *Val,
204 void UnswitchNontrivialCondition(Value *LIC, Constant *OnVal, Loop *L);
206 void RewriteLoopBodyWithConditionConstant(Loop *L, Value *LIC,
214 void SimplifyCode(std::vector<Instruction*> &Worklist, Loop *L);
215 void RemoveLoopFromHierarchy(Loop *L);
224 bool LUAnalysisCache::countLoop(const Loop *L, const TargetTransformInfo &TTI) {
245 for (Loop::block_iterator I = L->block_begin(), E = L->block_end();
276 void LUAnalysisCache::forgetLoop(const Loop *L) {
305 void LUAnalysisCache::cloneData(const Loop *NewLoop, const Loop *OldLoop,
351 static Value *FindLIVLoopCondition(Value *Cond, Loop *L, bool &Changed) {
384 bool LoopUnswitch::runOnLoop(Loop *L, LPPassManager &LPM_Ref) {
431 // Loop over all of the basic blocks in the loop. If we find an interior
434 for (Loop::block_iterator I = currentLoop->block_begin(),
505 static bool isTrivialLoopExitBlockHelper(Loop *L, BasicBlock *BB,
540 static BasicBlock *isTrivialLoopExitBlock(Loop *L, BasicBlock *BB) {
661 static Loop *CloneLoop(Loop *L, Loop *PL, ValueToValueMapTy &VM,
663 Loop *New = new Loop();
667 for (Loop::block_iterator I = L->block_begin(), E = L->block_end();
673 for (Loop::iterator I = L->begin(), E = L->end(); I != E; ++I)
710 void LoopUnswitch::UnswitchTrivialCondition(Loop *L, Value *Cond,
753 void LoopUnswitch::SplitExitEdges(Loop *L,
777 Loop *L) {
830 // Now we create the new Loop object for the versioned loop.
831 Loop *NewLoop = CloneLoop(L, L->getParentLoop(), VMap, LI, LPM);
837 Loop *ParentLoop = L->getParentLoop();
847 if (Loop *ExitBBLoop = LI->getLoopFor(ExitBlocks[i]))
928 Loop *L, LPPassManager *LPM) {
953 void LoopUnswitch::RemoveLoopFromHierarchy(Loop *L) {
961 void LoopUnswitch::RewriteLoopBodyWithConditionConstant(Loop *L, Value *LIC,
1089 void LoopUnswitch::SimplifyCode(std::vector<Instruction*> &Worklist, Loop *L) {