Lines Matching refs:OuterLoop

300       : OuterLoop(Outer), InnerLoop(Inner), SE(SE), ORE(ORE) {}  in LoopInterchangeLegality()
336 Loop *OuterLoop; member in __anon401b65a50211::LoopInterchangeLegality
358 : OuterLoop(Outer), InnerLoop(Inner), SE(SE), ORE(ORE) {} in LoopInterchangeProfitability()
361 bool isProfitable(const Loop *InnerLoop, const Loop *OuterLoop,
369 Loop *OuterLoop; member in __anon401b65a50211::LoopInterchangeProfitability
385 : OuterLoop(Outer), InnerLoop(Inner), SE(SE), LI(LI), DT(DT), LIL(LIL) {} in LoopInterchangeTransform()
392 void removeChildLoop(Loop *OuterLoop, Loop *InnerLoop);
398 Loop *OuterLoop; member in __anon401b65a50211::LoopInterchangeTransform
551 bool processLoop(Loop *InnerLoop, Loop *OuterLoop, unsigned InnerLoopId, in processLoop()
557 LoopInterchangeLegality LIL(OuterLoop, InnerLoop, SE, ORE); in processLoop()
563 LoopInterchangeProfitability LIP(OuterLoop, InnerLoop, SE, ORE); in processLoop()
564 if (!LIP.isProfitable(InnerLoop, OuterLoop, InnerLoopId, OuterLoopId, in processLoop()
577 LoopInterchangeTransform LIT(OuterLoop, InnerLoop, SE, LI, DT, LIL); in processLoop()
584 assert(OuterLoop->isLCSSAForm(*DT) && in processLoop()
599 bool LoopInterchangeLegality::tightlyNested(Loop *OuterLoop, Loop *InnerLoop) { in tightlyNested() argument
600 BasicBlock *OuterLoopHeader = OuterLoop->getHeader(); in tightlyNested()
602 BasicBlock *OuterLoopLatch = OuterLoop->getLoopLatch(); in tightlyNested()
671 !OuterLoop->isLoopInvariant(I)) { in isLoopStructureUnderstood()
738 if (!SE->isLoopInvariant(S, OuterLoop)) in isLoopStructureUnderstood()
829 OuterLoop->getExitingBlock() != OuterLoop->getLoopLatch() || in currentLimitations()
831 !isa<BranchInst>(OuterLoop->getLoopLatch()->getTerminator())) { in currentLimitations()
837 OuterLoop->getStartLoc(), in currentLimitations()
838 OuterLoop->getHeader()) in currentLimitations()
846 if (!findInductionAndReductions(OuterLoop, Inductions, InnerLoop)) { in currentLimitations()
852 OuterLoop->getStartLoc(), in currentLimitations()
853 OuterLoop->getHeader()) in currentLimitations()
929 static bool areOuterLoopExitPHIsSupported(Loop *OuterLoop, Loop *InnerLoop) { in areOuterLoopExitPHIsSupported() argument
930 BasicBlock *LoopNestExit = OuterLoop->getUniqueExitBlock(); in areOuterLoopExitPHIsSupported()
934 if (!IncomingI || IncomingI->getParent() != OuterLoop->getLoopLatch()) in areOuterLoopExitPHIsSupported()
947 if (OuterLoop->getLoopLatch()->getUniquePredecessor() == nullptr) in areOuterLoopExitPHIsSupported()
962 static bool areInnerLoopLatchPHIsSupported(Loop *OuterLoop, Loop *InnerLoop) { in areInnerLoopLatchPHIsSupported() argument
968 if (OuterLoop->getLoopLatch()->getUniquePredecessor() != nullptr) in areInnerLoopLatchPHIsSupported()
1004 for (auto *BB : OuterLoop->blocks()) in canInterchangeLoops()
1028 if (!areInnerLoopLatchPHIsSupported(OuterLoop, InnerLoop)) { in canInterchangeLoops()
1048 if (!tightlyNested(OuterLoop, InnerLoop)) { in canInterchangeLoops()
1060 if (!areInnerLoopExitPHIsSupported(OuterLoop, InnerLoop, in canInterchangeLoops()
1072 if (!areOuterLoopExitPHIsSupported(OuterLoop, InnerLoop)) { in canInterchangeLoops()
1076 OuterLoop->getStartLoc(), in canInterchangeLoops()
1077 OuterLoop->getHeader()) in canInterchangeLoops()
1124 if (AR->getLoop() == OuterLoop) { in getInstrOrderCost()
1160 const Loop *InnerLoop, const Loop *OuterLoop, unsigned InnerLoopId, in isProfitable() argument
1169 CostMap.find(OuterLoop) != CostMap.end()) { in isProfitable()
1172 OuterIndex = CostMap.find(OuterLoop)->second; in isProfitable()
1202 void LoopInterchangeTransform::removeChildLoop(Loop *OuterLoop, in removeChildLoop() argument
1204 for (Loop *L : *OuterLoop) in removeChildLoop()
1206 OuterLoop->removeChildLoop(L); in removeChildLoop()
1238 Loop *OuterLoopParent = OuterLoop->getParentLoop(); in restructureLoops()
1376 BasicBlock *OuterLoopHeader = OuterLoop->getHeader(); in transform()
1550 BasicBlock *OuterLoopPreHeader = OuterLoop->getLoopPreheader(); in adjustLoopBranches()
1553 assert(OuterLoopPreHeader != OuterLoop->getHeader() && in adjustLoopBranches()
1563 InsertPreheaderForLoop(OuterLoop, DT, LI, nullptr, true); in adjustLoopBranches()
1564 if (InnerLoopPreHeader == OuterLoop->getHeader()) in adjustLoopBranches()
1570 BasicBlock *OuterLoopHeader = OuterLoop->getHeader(); in adjustLoopBranches()
1572 BasicBlock *OuterLoopLatch = OuterLoop->getLoopLatch(); in adjustLoopBranches()
1649 restructureLoops(OuterLoop, InnerLoop, InnerLoopPreHeader, in adjustLoopBranches()
1711 BasicBlock *OuterLoopPreHeader = OuterLoop->getLoopPreheader(); in adjustLoopLinks()