Home | History | Annotate | Download | only in Analysis

Lines Matching refs:Loop

23 /// loop backedges in the function and return them.  This is a relatively cheap
24 /// (compared to computing dominators and loop info) analysis.
111 // LoopInfo contains a mapping from basic block to the innermost loop. Find
112 // the outermost loop in the loop nest that contains BB.
113 static const Loop *getOutermostLoop(const LoopInfo *LI, const BasicBlock *BB) {
114 const Loop *L = LI->getLoopFor(BB);
116 while (const Loop *Parent = L->getParentLoop())
122 // True if there is a loop which contains both BB1 and BB2.
125 const Loop *L1 = getOutermostLoop(LI, BB1);
126 const Loop *L2 = getOutermostLoop(LI, BB2);
159 if (const Loop *Outer = LI ? getOutermostLoop(LI, BB) : nullptr) {
160 // All blocks in a single loop are reachable from all other blocks. From
161 // any of these blocks, we can skip directly to the exits of the loop,
162 // ignoring any other blocks inside the loop body.
201 // If the block is in a loop then we can reach any instruction in the block
213 // Can't be in a loop if it's the entry block -- the entry block may not