Lines Matching refs:OuterLoop

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