Lines Matching refs:OuterLoop
329 : OuterLoop(Outer), InnerLoop(Inner), SE(SE), ORE(ORE) {} in LoopInterchangeLegality()
357 Loop *OuterLoop; member in __anon3ee250a90211::LoopInterchangeLegality
376 : OuterLoop(Outer), InnerLoop(Inner), SE(SE), ORE(ORE) {} in LoopInterchangeProfitability()
385 Loop *OuterLoop; member in __anon3ee250a90211::LoopInterchangeProfitability
401 : OuterLoop(Outer), InnerLoop(Inner), SE(SE), LI(LI), DT(DT), LIL(LIL) {} in LoopInterchangeTransform()
408 void removeChildLoop(Loop *OuterLoop, Loop *InnerLoop);
414 Loop *OuterLoop; member in __anon3ee250a90211::LoopInterchangeTransform
537 bool processLoop(Loop *InnerLoop, Loop *OuterLoop, unsigned InnerLoopId, in processLoop()
542 LoopInterchangeLegality LIL(OuterLoop, InnerLoop, SE, ORE); in processLoop()
548 LoopInterchangeProfitability LIP(OuterLoop, InnerLoop, SE, ORE); in processLoop()
561 LoopInterchangeTransform LIT(OuterLoop, InnerLoop, SE, LI, DT, LIL); in processLoop()
568 assert(OuterLoop->isLCSSAForm(*DT) && in processLoop()
583 bool LoopInterchangeLegality::tightlyNested(Loop *OuterLoop, Loop *InnerLoop) { in tightlyNested() argument
584 BasicBlock *OuterLoopHeader = OuterLoop->getHeader(); in tightlyNested()
586 BasicBlock *OuterLoopLatch = OuterLoop->getLoopLatch(); in tightlyNested()
655 !OuterLoop->isLoopInvariant(I)) { in isLoopStructureUnderstood()
714 if (!SE->isLoopInvariant(S, OuterLoop)) in isLoopStructureUnderstood()
802 OuterLoop->getExitingBlock() != OuterLoop->getLoopLatch() || in currentLimitations()
804 !isa<BranchInst>(OuterLoop->getLoopLatch()->getTerminator())) { in currentLimitations()
810 OuterLoop->getStartLoc(), in currentLimitations()
811 OuterLoop->getHeader()) in currentLimitations()
820 if (!findInductionAndReductions(OuterLoop, Inductions, InnerLoop)) { in currentLimitations()
826 OuterLoop->getStartLoc(), in currentLimitations()
827 OuterLoop->getHeader()) in currentLimitations()
840 OuterLoop->getStartLoc(), in currentLimitations()
841 OuterLoop->getHeader()) in currentLimitations()
995 static bool areOuterLoopExitPHIsSupported(Loop *OuterLoop, Loop *InnerLoop) { in areOuterLoopExitPHIsSupported() argument
996 BasicBlock *LoopNestExit = OuterLoop->getUniqueExitBlock(); in areOuterLoopExitPHIsSupported()
1005 if (!IncomingI || IncomingI->getParent() != OuterLoop->getLoopLatch()) in areOuterLoopExitPHIsSupported()
1018 if (OuterLoop->getLoopLatch()->getUniquePredecessor() == nullptr) in areOuterLoopExitPHIsSupported()
1033 static bool areInnerLoopLatchPHIsSupported(Loop *OuterLoop, Loop *InnerLoop) { in areInnerLoopLatchPHIsSupported() argument
1039 if (OuterLoop->getLoopLatch()->getUniquePredecessor() != nullptr) in areInnerLoopLatchPHIsSupported()
1075 for (auto *BB : OuterLoop->blocks()) in canInterchangeLoops()
1094 if (!areInnerLoopLatchPHIsSupported(OuterLoop, InnerLoop)) { in canInterchangeLoops()
1114 if (!tightlyNested(OuterLoop, InnerLoop)) { in canInterchangeLoops()
1126 if (!areInnerLoopExitPHIsSupported(OuterLoop, InnerLoop, in canInterchangeLoops()
1138 if (!areOuterLoopExitPHIsSupported(OuterLoop, InnerLoop)) { in canInterchangeLoops()
1142 OuterLoop->getStartLoc(), in canInterchangeLoops()
1143 OuterLoop->getHeader()) in canInterchangeLoops()
1190 if (AR->getLoop() == OuterLoop) { in getInstrOrderCost()
1258 void LoopInterchangeTransform::removeChildLoop(Loop *OuterLoop, in removeChildLoop() argument
1260 for (Loop *L : *OuterLoop) in removeChildLoop()
1262 OuterLoop->removeChildLoop(L); in removeChildLoop()
1294 Loop *OuterLoopParent = OuterLoop->getParentLoop(); in restructureLoops()
1430 BasicBlock *OuterLoopHeader = OuterLoop->getHeader(); in transform()
1600 BasicBlock *OuterLoopPreHeader = OuterLoop->getLoopPreheader(); in adjustLoopBranches()
1603 assert(OuterLoopPreHeader != OuterLoop->getHeader() && in adjustLoopBranches()
1613 InsertPreheaderForLoop(OuterLoop, DT, LI, nullptr, true); in adjustLoopBranches()
1614 if (InnerLoopPreHeader == OuterLoop->getHeader()) in adjustLoopBranches()
1620 BasicBlock *OuterLoopHeader = OuterLoop->getHeader(); in adjustLoopBranches()
1622 BasicBlock *OuterLoopLatch = OuterLoop->getLoopLatch(); in adjustLoopBranches()
1700 restructureLoops(OuterLoop, InnerLoop, InnerLoopPreHeader, in adjustLoopBranches()
1763 BasicBlock *OuterLoopPreHeader = OuterLoop->getLoopPreheader(); in adjustLoopLinks()