Lines Matching defs:Lp
318 // Return true if the inner loop \p Lp is uniform with regard to the outer loop
321 // very constrained for now but it will be relaxed in the future. \p Lp is
333 // would be redundantly executed for each \p Lp if we invoked this function for
340 // function that is only executed once for each \p Lp.
341 static bool isUniformLoop(Loop *Lp, Loop *OuterLp) {
342 assert(Lp->getLoopLatch() && "Expected loop with a single latch.");
344 // If Lp is the outer loop, it's uniform by definition.
345 if (Lp == OuterLp)
347 assert(OuterLp->contains(Lp) && "OuterLp must contain Lp.");
350 PHINode *IV = Lp->getCanonicalInductionVariable();
357 BasicBlock *Latch = Lp->getLoopLatch();
384 // Return true if \p Lp and all its nested loops are uniform with regard to \p
386 static bool isUniformLoopNest(Loop *Lp, Loop *OuterLp) {
387 if (!isUniformLoop(Lp, OuterLp))
391 for (Loop *SubLp : *Lp)
1545 bool LoopVectorizationLegality::canVectorizeLoopCFG(Loop *Lp,
1547 assert((UseVPlanNativePath || Lp->isInnermost()) &&
1562 if (!Lp->getLoopPreheader()) {
1573 if (Lp->getNumBackEdges() != 1) {
1587 Loop *Lp, bool UseVPlanNativePath) {
1592 if (!canVectorizeLoopCFG(Lp, UseVPlanNativePath)) {
1601 for (Loop *SubLp : *Lp)