Lines Matching defs:OuterLoop

35 static bool checkLoopsStructure(const Loop &OuterLoop, const Loop &InnerLoop,
52 static CmpInst *getOuterLoopLatchCmp(const Loop &OuterLoop) {
54 const BasicBlock *Latch = OuterLoop.getLoopLatch();
103 bool LoopNest::arePerfectlyNested(const Loop &OuterLoop, const Loop &InnerLoop,
105 return (analyzeLoopNestForPerfectNest(OuterLoop, InnerLoop, SE) ==
110 const Loop &OuterLoop, const Loop &InnerLoop, ScalarEvolution &SE) {
112 assert(!OuterLoop.isInnermost() && "Outer loop should have subloops");
114 LLVM_DEBUG(dbgs() << "Checking whether loop '" << OuterLoop.getName()
124 if (!checkLoopsStructure(OuterLoop, InnerLoop, SE)) {
130 auto OuterLoopLB = OuterLoop.getBounds(SE);
132 LLVM_DEBUG(dbgs() << "Cannot compute loop bounds of OuterLoop: "
133 << OuterLoop << "\n";);
137 CmpInst *OuterLoopLatchCmp = getOuterLoopLatchCmp(OuterLoop);
161 const BasicBlock *OuterLoopHeader = OuterLoop.getHeader();
162 const BasicBlock *OuterLoopLatch = OuterLoop.getLoopLatch();
175 LLVM_DEBUG(dbgs() << "Loop '" << OuterLoop.getName() << "' and '"
182 const Loop &OuterLoop, const Loop &InnerLoop, ScalarEvolution &SE) {
184 switch (analyzeLoopNestForPerfectNest(OuterLoop, InnerLoop, SE)) {
196 LLVM_DEBUG(dbgs() << "Cannot compute loop bounds of OuterLoop: "
197 << OuterLoop << "\nInstruction vector is empty.\n";);
205 auto OuterLoopLB = OuterLoop.getBounds(SE);
207 CmpInst *OuterLoopLatchCmp = getOuterLoopLatchCmp(OuterLoop);
225 const BasicBlock *OuterLoopHeader = OuterLoop.getHeader();
226 const BasicBlock *OuterLoopLatch = OuterLoop.getLoopLatch();
315 static bool checkLoopsStructure(const Loop &OuterLoop, const Loop &InnerLoop,
318 if ((OuterLoop.getSubLoops().size() != 1) ||
319 (InnerLoop.getParentLoop() != &OuterLoop))
323 if (!OuterLoop.isLoopSimplifyForm() || !InnerLoop.isLoopSimplifyForm())
326 const BasicBlock *OuterLoopHeader = OuterLoop.getHeader();
327 const BasicBlock *OuterLoopLatch = OuterLoop.getLoopLatch();
333 if (OuterLoop.getExitingBlock() != OuterLoopLatch ||