Lines Matching refs:OuterLoop

330       : OuterLoop(Outer), InnerLoop(Inner), SE(SE), ORE(ORE) {}  in LoopInterchangeLegality()
358 Loop *OuterLoop; member in __anonceaba13a0211::LoopInterchangeLegality
377 : OuterLoop(Outer), InnerLoop(Inner), SE(SE), ORE(ORE) {} in LoopInterchangeProfitability()
386 Loop *OuterLoop; member in __anonceaba13a0211::LoopInterchangeProfitability
403 : OuterLoop(Outer), InnerLoop(Inner), SE(SE), LI(LI), DT(DT), in LoopInterchangeTransform()
411 void removeChildLoop(Loop *OuterLoop, Loop *InnerLoop);
420 Loop *OuterLoop; member in __anonceaba13a0211::LoopInterchangeTransform
559 Loop *OuterLoop = LoopList[OuterLoopId]; in processLoop() local
561 LoopInterchangeLegality LIL(OuterLoop, InnerLoop, SE, ORE); in processLoop()
567 LoopInterchangeProfitability LIP(OuterLoop, InnerLoop, SE, ORE); in processLoop()
580 LoopInterchangeTransform LIT(OuterLoop, InnerLoop, SE, LI, DT, LoopNestExit, in processLoop()
597 bool LoopInterchangeLegality::tightlyNested(Loop *OuterLoop, Loop *InnerLoop) { in tightlyNested() argument
598 BasicBlock *OuterLoopHeader = OuterLoop->getHeader(); in tightlyNested()
600 BasicBlock *OuterLoopLatch = OuterLoop->getLoopLatch(); in tightlyNested()
646 !OuterLoop->isLoopInvariant(I)) { in isLoopStructureUnderstood()
747 OuterLoop->getExitingBlock() != OuterLoop->getLoopLatch() || in currentLimitations()
749 !isa<BranchInst>(OuterLoop->getLoopLatch()->getTerminator())) { in currentLimitations()
755 OuterLoop->getStartLoc(), in currentLimitations()
756 OuterLoop->getHeader()) in currentLimitations()
765 if (!findInductionAndReductions(OuterLoop, Inductions, InnerLoop)) { in currentLimitations()
771 OuterLoop->getStartLoc(), in currentLimitations()
772 OuterLoop->getHeader()) in currentLimitations()
785 OuterLoop->getStartLoc(), in currentLimitations()
786 OuterLoop->getHeader()) in currentLimitations()
933 static bool areLoopExitPHIsSupported(Loop *OuterLoop, Loop *InnerLoop) { in areLoopExitPHIsSupported() argument
934 BasicBlock *LoopNestExit = OuterLoop->getUniqueExitBlock(); in areLoopExitPHIsSupported()
943 if (!IncomingI || IncomingI->getParent() != OuterLoop->getLoopLatch()) in areLoopExitPHIsSupported()
956 if (OuterLoop->getLoopLatch()->getUniquePredecessor() == nullptr) in areLoopExitPHIsSupported()
979 for (auto *BB : OuterLoop->blocks()) in canInterchangeLoops()
1006 if (!tightlyNested(OuterLoop, InnerLoop)) { in canInterchangeLoops()
1018 if (!areLoopExitPHIsSupported(OuterLoop, InnerLoop)) { in canInterchangeLoops()
1022 OuterLoop->getStartLoc(), in canInterchangeLoops()
1023 OuterLoop->getHeader()) in canInterchangeLoops()
1066 if (AR->getLoop() == OuterLoop) { in getInstrOrderCost()
1134 void LoopInterchangeTransform::removeChildLoop(Loop *OuterLoop, in removeChildLoop() argument
1136 for (Loop *L : *OuterLoop) in removeChildLoop()
1138 OuterLoop->removeChildLoop(L); in removeChildLoop()
1170 Loop *OuterLoopParent = OuterLoop->getParentLoop(); in restructureLoops()
1365 BasicBlock *OuterLoopPreHeader = OuterLoop->getLoopPreheader(); in adjustLoopBranches()
1368 assert(OuterLoopPreHeader != OuterLoop->getHeader() && in adjustLoopBranches()
1377 OuterLoopPreHeader = InsertPreheaderForLoop(OuterLoop, DT, LI, true); in adjustLoopBranches()
1378 if (InnerLoopPreHeader == OuterLoop->getHeader()) in adjustLoopBranches()
1383 BasicBlock *OuterLoopHeader = OuterLoop->getHeader(); in adjustLoopBranches()
1385 BasicBlock *OuterLoopLatch = OuterLoop->getLoopLatch(); in adjustLoopBranches()
1452 restructureLoops(OuterLoop, InnerLoop, InnerLoopPreHeader, in adjustLoopBranches()
1498 BasicBlock *OuterLoopPreHeader = OuterLoop->getLoopPreheader(); in adjustLoopPreheaders()
1500 BasicBlock *OuterLoopHeader = OuterLoop->getHeader(); in adjustLoopPreheaders()