Lines Matching full:latch
30 /// or jump around the inner loop to the outer loop latch
31 /// - if the inner loop latch exits the inner loop, it should 'flow' into
32 /// the outer loop latch.
54 const BasicBlock *Latch = OuterLoop.getLoopLatch(); in getOuterLoopLatchCmp() local
55 assert(Latch && "Expecting a valid loop latch"); in getOuterLoopLatchCmp()
57 const BranchInst *BI = dyn_cast<BranchInst>(Latch->getTerminator()); in getOuterLoopLatchCmp()
59 "Expecting loop latch terminator to be a branch instruction"); in getOuterLoopLatchCmp()
64 dbgs() << "Outer loop latch compare instruction: " << *OuterLoopLatchCmp in getOuterLoopLatchCmp()
95 // compare instruction and the outer loop latch compare instruction. in checkSafeInstruction()
121 // or jump around the inner loop to the outer loop latch in analyzeLoopNestForPerfectNest()
122 // - if the inner loop latch exits the inner loop, it should 'flow' into in analyzeLoopNestForPerfectNest()
123 // the outer loop latch. in analyzeLoopNestForPerfectNest()
142 // - the outer loop latch comparison in analyzeLoopNestForPerfectNest()
204 // Identify the outer loop latch comparison instruction. in getInterveningInstructions()
322 // We expect loops in normal form which have a preheader, header, latch... in checkLoopsStructure()
375 // preheader or the outer loop latch possibly through empty blocks. in checkLoopsStructure()
411 "outer loop latch.\n"; in checkLoopsStructure()
418 // Ensure the inner loop exit block lead to the outer loop latch possibly in checkLoopsStructure()
428 << " does not directly lead to the outer loop latch.\n";); in checkLoopsStructure()