Lines Matching refs:InnerLoop
329 : OuterLoop(Outer), InnerLoop(Inner), SE(SE), ORE(ORE) {} in LoopInterchangeLegality()
355 Loop *InnerLoop);
358 Loop *InnerLoop; member in __anon3ee250a90211::LoopInterchangeLegality
376 : OuterLoop(Outer), InnerLoop(Inner), SE(SE), ORE(ORE) {} in LoopInterchangeProfitability()
386 Loop *InnerLoop; 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);
415 Loop *InnerLoop; 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()
556 InnerLoop->getStartLoc(), in processLoop()
557 InnerLoop->getHeader()) in processLoop()
561 LoopInterchangeTransform LIT(OuterLoop, InnerLoop, SE, LI, DT, LIL); in processLoop()
566 assert(InnerLoop->isLCSSAForm(*DT) && in processLoop()
583 bool LoopInterchangeLegality::tightlyNested(Loop *OuterLoop, Loop *InnerLoop) { in tightlyNested() argument
585 BasicBlock *InnerLoopPreHeader = InnerLoop->getLoopPreheader(); in tightlyNested()
599 if (Succ != InnerLoopPreHeader && Succ != InnerLoop->getHeader() && in tightlyNested()
617 BasicBlock *InnerLoopExit = InnerLoop->getExitBlock(); in tightlyNested()
641 BasicBlock *InnerLoopPreheader = InnerLoop->getLoopPreheader(); in isLoopStructureUnderstood()
666 BasicBlock *InnerLoopLatch = InnerLoop->getLoopLatch(); in isLoopStructureUnderstood()
754 Loop *L, SmallVector<PHINode *, 8> &Inductions, Loop *InnerLoop) { in findInductionAndReductions() argument
765 if (!InnerLoop) { in findInductionAndReductions()
777 PHINode *InnerRedPhi = findInnerReductionPhi(InnerLoop, V); in findInductionAndReductions()
796 BasicBlock *InnerLoopPreHeader = InnerLoop->getLoopPreheader(); in currentLimitations()
797 BasicBlock *InnerLoopLatch = InnerLoop->getLoopLatch(); in currentLimitations()
801 if (InnerLoop->getExitingBlock() != InnerLoopLatch || in currentLimitations()
820 if (!findInductionAndReductions(OuterLoop, Inductions, InnerLoop)) { in currentLimitations()
849 if (!findInductionAndReductions(InnerLoop, Inductions, nullptr)) { in currentLimitations()
855 InnerLoop->getStartLoc(), in currentLimitations()
856 InnerLoop->getHeader()) in currentLimitations()
870 InnerLoop->getStartLoc(), in currentLimitations()
871 InnerLoop->getHeader()) in currentLimitations()
884 InnerLoop->getStartLoc(), in currentLimitations()
885 InnerLoop->getHeader()) in currentLimitations()
915 InnerLoop->getStartLoc(), in currentLimitations()
916 InnerLoop->getHeader()) in currentLimitations()
941 InnerLoop->getStartLoc(), InnerLoop->getHeader()) in currentLimitations()
957 InnerLoop->getStartLoc(), in currentLimitations()
958 InnerLoop->getHeader()) in currentLimitations()
995 static bool areOuterLoopExitPHIsSupported(Loop *OuterLoop, Loop *InnerLoop) { in areOuterLoopExitPHIsSupported() argument
1033 static bool areInnerLoopLatchPHIsSupported(Loop *OuterLoop, Loop *InnerLoop) { in areInnerLoopLatchPHIsSupported() argument
1034 if (InnerLoop->getSubLoops().empty()) in areInnerLoopLatchPHIsSupported()
1048 BasicBlock *InnerLoopLatch = InnerLoop->getLoopLatch(); in areInnerLoopLatchPHIsSupported()
1068 InnerLoop->getStartLoc(), in canInterchangeLoops()
1069 InnerLoop->getHeader()) in canInterchangeLoops()
1094 if (!areInnerLoopLatchPHIsSupported(OuterLoop, InnerLoop)) { in canInterchangeLoops()
1098 InnerLoop->getStartLoc(), in canInterchangeLoops()
1099 InnerLoop->getHeader()) in canInterchangeLoops()
1114 if (!tightlyNested(OuterLoop, InnerLoop)) { in canInterchangeLoops()
1118 InnerLoop->getStartLoc(), in canInterchangeLoops()
1119 InnerLoop->getHeader()) in canInterchangeLoops()
1126 if (!areInnerLoopExitPHIsSupported(OuterLoop, InnerLoop, in canInterchangeLoops()
1131 InnerLoop->getStartLoc(), in canInterchangeLoops()
1132 InnerLoop->getHeader()) in canInterchangeLoops()
1138 if (!areOuterLoopExitPHIsSupported(OuterLoop, InnerLoop)) { in canInterchangeLoops()
1155 for (BasicBlock *BB : InnerLoop->blocks()) { in getInstrOrderCost()
1176 if (AR->getLoop() == InnerLoop) { in getInstrOrderCost()
1248 InnerLoop->getStartLoc(), in isProfitable()
1249 InnerLoop->getHeader()) in isProfitable()
1259 Loop *InnerLoop) { in removeChildLoop() argument
1261 if (L == InnerLoop) { in removeChildLoop()
1352 if (InnerLoop->getSubLoops().empty()) { in transform()
1353 BasicBlock *InnerLoopPreHeader = InnerLoop->getLoopPreheader(); in transform()
1355 PHINode *InductionPHI = getInductionVariable(InnerLoop, SE); in transform()
1375 SplitBlock(InnerLoop->getLoopLatch(), in transform()
1376 InnerLoop->getLoopLatch()->getTerminator(), DT, LI); in transform()
1391 if (!InnerLoop->contains(UserI->getParent()) || in transform()
1400 this->LI->getLoopFor(OpI->getParent()) != this->InnerLoop || in transform()
1410 cast<BranchInst>(InnerLoop->getLoopLatch()->getTerminator()) in transform()
1419 BasicBlock *InnerLoopHeader = InnerLoop->getHeader(); in transform()
1429 BasicBlock *InnerLoopPreHeader = InnerLoop->getLoopPreheader(); in transform()
1507 Loop *InnerLoop, LoopInfo *LI) { in moveLCSSAPhis() argument
1572 if (!I || LI->getLoopFor(I->getParent()) == InnerLoop) in moveLCSSAPhis()
1601 BasicBlock *InnerLoopPreHeader = InnerLoop->getLoopPreheader(); in adjustLoopBranches()
1604 InnerLoopPreHeader != InnerLoop->getHeader() && OuterLoopPreHeader && in adjustLoopBranches()
1616 InsertPreheaderForLoop(InnerLoop, DT, LI, nullptr, true); in adjustLoopBranches()
1619 BasicBlock *InnerLoopHeader = InnerLoop->getHeader(); in adjustLoopBranches()
1621 BasicBlock *InnerLoopLatch = InnerLoop->getLoopLatch(); in adjustLoopBranches()
1700 restructureLoops(OuterLoop, InnerLoop, InnerLoopPreHeader, in adjustLoopBranches()
1704 OuterLoopHeader, OuterLoopLatch, InnerLoop->getExitBlock(), in adjustLoopBranches()
1705 InnerLoop, LI); in adjustLoopBranches()
1764 BasicBlock *InnerLoopPreHeader = InnerLoop->getLoopPreheader(); in adjustLoopLinks()