Lines Matching refs:InnerLoop

300       : OuterLoop(Outer), InnerLoop(Inner), SE(SE), ORE(ORE) {}  in LoopInterchangeLegality()
334 Loop *InnerLoop);
337 Loop *InnerLoop; member in __anon401b65a50211::LoopInterchangeLegality
358 : OuterLoop(Outer), InnerLoop(Inner), SE(SE), ORE(ORE) {} in LoopInterchangeProfitability()
361 bool isProfitable(const Loop *InnerLoop, const Loop *OuterLoop,
370 Loop *InnerLoop; 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);
399 Loop *InnerLoop; 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()
572 InnerLoop->getStartLoc(), in processLoop()
573 InnerLoop->getHeader()) in processLoop()
577 LoopInterchangeTransform LIT(OuterLoop, InnerLoop, SE, LI, DT, LIL); in processLoop()
582 assert(InnerLoop->isLCSSAForm(*DT) && in processLoop()
599 bool LoopInterchangeLegality::tightlyNested(Loop *OuterLoop, Loop *InnerLoop) { in tightlyNested() argument
601 BasicBlock *InnerLoopPreHeader = InnerLoop->getLoopPreheader(); in tightlyNested()
615 if (Succ != InnerLoopPreHeader && Succ != InnerLoop->getHeader() && in tightlyNested()
633 BasicBlock *InnerLoopExit = InnerLoop->getExitBlock(); in tightlyNested()
655 BasicBlock *InnerLoopPreheader = InnerLoop->getLoopPreheader(); in isLoopStructureUnderstood()
683 BasicBlock *InnerLoopLatch = InnerLoop->getLoopLatch(); in isLoopStructureUnderstood()
782 Loop *L, SmallVector<PHINode *, 8> &Inductions, Loop *InnerLoop) { in findInductionAndReductions() argument
793 if (!InnerLoop) { in findInductionAndReductions()
805 PHINode *InnerRedPhi = findInnerReductionPhi(InnerLoop, V); in findInductionAndReductions()
824 BasicBlock *InnerLoopLatch = InnerLoop->getLoopLatch(); in currentLimitations()
828 if (InnerLoop->getExitingBlock() != InnerLoopLatch || in currentLimitations()
846 if (!findInductionAndReductions(OuterLoop, Inductions, InnerLoop)) { in currentLimitations()
861 if (!findInductionAndReductions(InnerLoop, Inductions, nullptr)) { in currentLimitations()
867 InnerLoop->getStartLoc(), in currentLimitations()
868 InnerLoop->getHeader()) in currentLimitations()
880 InnerLoop->getStartLoc(), in currentLimitations()
881 InnerLoop->getHeader()) in currentLimitations()
929 static bool areOuterLoopExitPHIsSupported(Loop *OuterLoop, Loop *InnerLoop) { in areOuterLoopExitPHIsSupported() argument
962 static bool areInnerLoopLatchPHIsSupported(Loop *OuterLoop, Loop *InnerLoop) { in areInnerLoopLatchPHIsSupported() argument
963 if (InnerLoop->getSubLoops().empty()) in areInnerLoopLatchPHIsSupported()
977 BasicBlock *InnerLoopLatch = InnerLoop->getLoopLatch(); in areInnerLoopLatchPHIsSupported()
997 InnerLoop->getStartLoc(), in canInterchangeLoops()
998 InnerLoop->getHeader()) in canInterchangeLoops()
1023 if (!findInductions(InnerLoop, InnerLoopInductions)) { in canInterchangeLoops()
1028 if (!areInnerLoopLatchPHIsSupported(OuterLoop, InnerLoop)) { in canInterchangeLoops()
1032 InnerLoop->getStartLoc(), in canInterchangeLoops()
1033 InnerLoop->getHeader()) in canInterchangeLoops()
1048 if (!tightlyNested(OuterLoop, InnerLoop)) { in canInterchangeLoops()
1052 InnerLoop->getStartLoc(), in canInterchangeLoops()
1053 InnerLoop->getHeader()) in canInterchangeLoops()
1060 if (!areInnerLoopExitPHIsSupported(OuterLoop, InnerLoop, in canInterchangeLoops()
1065 InnerLoop->getStartLoc(), in canInterchangeLoops()
1066 InnerLoop->getHeader()) in canInterchangeLoops()
1072 if (!areOuterLoopExitPHIsSupported(OuterLoop, InnerLoop)) { in canInterchangeLoops()
1089 for (BasicBlock *BB : InnerLoop->blocks()) { in getInstrOrderCost()
1110 if (AR->getLoop() == InnerLoop) { in getInstrOrderCost()
1160 const Loop *InnerLoop, const Loop *OuterLoop, unsigned InnerLoopId, in isProfitable() argument
1168 if (CostMap.find(InnerLoop) != CostMap.end() && in isProfitable()
1171 InnerIndex = CostMap.find(InnerLoop)->second; in isProfitable()
1194 InnerLoop->getStartLoc(), in isProfitable()
1195 InnerLoop->getHeader()) in isProfitable()
1203 Loop *InnerLoop) { in removeChildLoop() argument
1205 if (L == InnerLoop) { in removeChildLoop()
1295 if (InnerLoop->getSubLoops().empty()) { in transform()
1296 BasicBlock *InnerLoopPreHeader = InnerLoop->getLoopPreheader(); in transform()
1319 SplitBlock(InnerLoop->getLoopLatch(), in transform()
1320 InnerLoop->getLoopLatch()->getTerminator(), DT, LI); in transform()
1335 if (!InnerLoop->contains(UserI->getParent()) || in transform()
1345 this->LI->getLoopFor(OpI->getParent()) != this->InnerLoop || in transform()
1355 cast<BranchInst>(InnerLoop->getLoopLatch()->getTerminator()) in transform()
1365 BasicBlock *InnerLoopHeader = InnerLoop->getHeader(); in transform()
1375 BasicBlock *InnerLoopPreHeader = InnerLoop->getLoopPreheader(); in transform()
1453 Loop *InnerLoop, LoopInfo *LI) { in moveLCSSAPhis() argument
1522 if (!I || LI->getLoopFor(I->getParent()) == InnerLoop) in moveLCSSAPhis()
1551 BasicBlock *InnerLoopPreHeader = InnerLoop->getLoopPreheader(); in adjustLoopBranches()
1554 InnerLoopPreHeader != InnerLoop->getHeader() && OuterLoopPreHeader && in adjustLoopBranches()
1566 InsertPreheaderForLoop(InnerLoop, DT, LI, nullptr, true); in adjustLoopBranches()
1569 BasicBlock *InnerLoopHeader = InnerLoop->getHeader(); in adjustLoopBranches()
1571 BasicBlock *InnerLoopLatch = InnerLoop->getLoopLatch(); in adjustLoopBranches()
1649 restructureLoops(OuterLoop, InnerLoop, InnerLoopPreHeader, in adjustLoopBranches()
1653 OuterLoopHeader, OuterLoopLatch, InnerLoop->getExitBlock(), in adjustLoopBranches()
1654 InnerLoop, LI); in adjustLoopBranches()
1712 BasicBlock *InnerLoopPreHeader = InnerLoop->getLoopPreheader(); in adjustLoopLinks()