| /llvm-project-15.0.7/llvm/lib/Analysis/ |
| H A D | LoopNestAnalysis.cpp | 52 static CmpInst *getOuterLoopLatchCmp(const Loop &OuterLoop) { in getOuterLoopLatchCmp() argument 54 const BasicBlock *Latch = OuterLoop.getLoopLatch(); in getOuterLoopLatchCmp() 124 if (!checkLoopsStructure(OuterLoop, InnerLoop, SE)) { in analyzeLoopNestForPerfectNest() 130 auto OuterLoopLB = OuterLoop.getBounds(SE); in analyzeLoopNestForPerfectNest() 133 << OuterLoop << "\n";); in analyzeLoopNestForPerfectNest() 161 const BasicBlock *OuterLoopHeader = OuterLoop.getHeader(); in analyzeLoopNestForPerfectNest() 205 auto OuterLoopLB = OuterLoop.getBounds(SE); in getInterveningInstructions() 225 const BasicBlock *OuterLoopHeader = OuterLoop.getHeader(); in getInterveningInstructions() 318 if ((OuterLoop.getSubLoops().size() != 1) || in checkLoopsStructure() 319 (InnerLoop.getParentLoop() != &OuterLoop)) in checkLoopsStructure() [all …]
|
| H A D | BlockFrequencyInfoImpl.cpp | 320 return OuterLoop && OuterLoop->isHeader(Node); in addToDist() 353 assert((!OuterLoop || !OuterLoop->isIrreducible()) && in addToDist() 364 assert(OuterLoop && OuterLoop->isIrreducible() && !isLoopHeader(Resolved) && in addToDist() 469 OuterLoop->BackedgeMass[OuterLoop->getHeaderIndex(W.TargetNode)] += Taken; in distributeMass() 661 Start = OuterLoop.getHeader(); in addNodesInLoop() 663 for (auto N : OuterLoop.Nodes) in addNodesInLoop() 683 if (OuterLoop && OuterLoop->isHeader(Succ)) in addEdge() 818 if (OuterLoop) in analyzeIrreducible() 825 OuterLoop.Exits.clear(); in updateLoopWithIrreducible() 828 auto O = OuterLoop.Nodes.begin() + 1; in updateLoopWithIrreducible() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Scalar/ |
| H A D | LoopInterchange.cpp | 336 Loop *OuterLoop; member in __anon401b65a50211::LoopInterchangeLegality 369 Loop *OuterLoop; member in __anon401b65a50211::LoopInterchangeProfitability 398 Loop *OuterLoop; member in __anon401b65a50211::LoopInterchangeTransform 584 assert(OuterLoop->isLCSSAForm(*DT) && in processLoop() 671 !OuterLoop->isLoopInvariant(I)) { in isLoopStructureUnderstood() 738 if (!SE->isLoopInvariant(S, OuterLoop)) in isLoopStructureUnderstood() 829 OuterLoop->getExitingBlock() != OuterLoop->getLoopLatch() || in currentLimitations() 1004 for (auto *BB : OuterLoop->blocks()) in canInterchangeLoops() 1124 if (AR->getLoop() == OuterLoop) { in getInstrOrderCost() 1204 for (Loop *L : *OuterLoop) in removeChildLoop() [all …]
|
| H A D | LoopFlatten.cpp | 111 Loop *OuterLoop = nullptr; // The loop pair to be flattened. member 525 for (auto *B : FI.OuterLoop->getBlocks()) { in checkOuterLoopInsts() 609 Function *F = FI.OuterLoop->getHeader()->getParent(); in checkOverflow() 671 if (!FI.OuterLoop->isLoopInvariant(FI.InnerTripCount)) { in CanFlattenLoopPair() 675 if (!FI.OuterLoop->isLoopInvariant(FI.OuterTripCount)) { in CanFlattenLoopPair() 706 Function *F = FI.OuterLoop->getHeader()->getParent(); in DoFlattenLoopPair() 719 FI.OuterLoop->getLoopPreheader()->getTerminator()); in DoFlattenLoopPair() 763 SE->forgetLoop(FI.OuterLoop); in DoFlattenLoopPair() 899 auto *OuterLoop = InnerLoop->getParentLoop(); in Flatten() local 900 if (!OuterLoop) in Flatten() [all …]
|
| H A D | LoopSimplifyCFG.cpp | 385 if (Loop *OuterLoop = LI.getLoopFor(Preheader)) { in handleDeadExits() local 394 if (StillReachable != OuterLoop) { in handleDeadExits() 396 removeBlockFromLoops(NewPreheader, OuterLoop, StillReachable); in handleDeadExits() 398 removeBlockFromLoops(BB, OuterLoop, StillReachable); in handleDeadExits() 399 OuterLoop->removeChildLoop(&L); in handleDeadExits() 408 Loop *FixLCSSALoop = OuterLoop; in handleDeadExits()
|
| /llvm-project-15.0.7/llvm/include/llvm/Analysis/ |
| H A D | BlockFrequencyInfoImpl.h | 639 initialize(OuterLoop, addBlockEdges); 664 if (OuterLoop) { 665 addNodesInLoop(*OuterLoop); 666 for (auto N : OuterLoop->Nodes) 667 addEdges(N, OuterLoop, addBlockEdges); 688 addEdge(Irr, I.first, OuterLoop); 690 addBlockEdges(*this, Irr, OuterLoop); 1669 if (OuterLoop) dbgs() 1683 if (!OuterLoop) 1685 updateLoopWithIrreducible(*OuterLoop); [all …]
|
| H A D | LoopNestAnalysis.h | 51 static bool arePerfectlyNested(const Loop &OuterLoop, const Loop &InnerLoop, 56 static InstrVectorTy getInterveningInstructions(const Loop &OuterLoop, 193 static LoopNestEnum analyzeLoopNestForPerfectNest(const Loop &OuterLoop,
|
| /llvm-project-15.0.7/llvm/test/Analysis/MemorySSA/ |
| H A D | multiple-backedges-hal.ll | 41 br label %OuterLoop 43 OuterLoop: 54 ; CHECK: 4 = MemoryPhi({OuterLoop,2},{InnerLoop,3}) 68 br i1 %KeepGoing.Tail, label %End, label %OuterLoop
|
| /llvm-project-15.0.7/polly/lib/CodeGen/ |
| H A D | LoopGenerators.cpp | 104 Loop *OuterLoop = LI.getLoopFor(BeforeBB); in createLoop() local 107 if (OuterLoop) in createLoop() 108 OuterLoop->addChildLoop(NewLoop); in createLoop() 112 if (OuterLoop) { in createLoop() 114 OuterLoop->addBasicBlockToLoop(GuardBB, LI); in createLoop() 115 OuterLoop->addBasicBlockToLoop(PreHeaderBB, LI); in createLoop()
|
| /llvm-project-15.0.7/llvm/unittests/Analysis/ |
| H A D | LoopInfoTest.cpp | 1630 Loop *OuterLoop = LI.getLoopFor(OuterHeader); in TEST() local 1633 EXPECT_NE(OuterLoop, nullptr); in TEST() 1636 EXPECT_TRUE(OuterLoop->isLCSSAForm(DT, /*IgnoreTokens*/ true)); in TEST() 1637 EXPECT_FALSE(OuterLoop->isLCSSAForm(DT, /*IgnoreTokens*/ false)); in TEST() 1641 OuterLoop->isRecursivelyLCSSAForm(DT, LI, /*IgnoreTokens*/ true)); in TEST() 1643 OuterLoop->isRecursivelyLCSSAForm(DT, LI, /*IgnoreTokens*/ false)); in TEST()
|
| /llvm-project-15.0.7/polly/lib/Transform/ |
| H A D | ZoneAlgo.cpp | 316 static bool isInsideLoop(Loop *OuterLoop, Loop *InnerLoop) { in isInsideLoop() argument 319 return !OuterLoop || OuterLoop->contains(InnerLoop); in isInsideLoop()
|
| /llvm-project-15.0.7/polly/lib/Support/ |
| H A D | ScopHelper.cpp | 509 Loop *OuterLoop = R.outermostLoopInRegion(L); in hasVariantIndex() local 510 if (!SE.isLoopInvariant(PtrSCEV, OuterLoop)) in hasVariantIndex()
|
| /llvm-project-15.0.7/llvm/unittests/Frontend/ |
| H A D | OpenMPIRBuilderTest.cpp | 1380 CanonicalLoopInfo *OuterLoop = OMPBuilder.createCanonicalLoop( in TEST_F() local 1384 Builder.restoreIP(OuterLoop->getAfterIP()); in TEST_F() 1388 OMPBuilder.collapseLoops(DL, {OuterLoop, InnerLoop}, ComputeIP); in TEST_F() 1495 CanonicalLoopInfo *OuterLoop = OMPBuilder.createCanonicalLoop( in TEST_F() local 1499 Builder.restoreIP(OuterLoop->getAfterIP()); in TEST_F() 1506 DL, {OuterLoop, InnerLoop}, {OuterTileSize, InnerTileSize}); in TEST_F() 1596 CanonicalLoopInfo *OuterLoop = OMPBuilder.createCanonicalLoop( in TEST_F() local 1601 Builder.restoreIP(OuterLoop->getAfterIP()); in TEST_F() 1608 OMPBuilder.tileLoops(DL, {OuterLoop, InnerLoop}, {TileSize0, TileSize1}); in TEST_F()
|
| /llvm-project-15.0.7/polly/lib/Analysis/ |
| H A D | ScopInfo.cpp | 2396 Loop *OuterLoop = R.outermostLoopInRegion(const_cast<Loop *>(L)); in getRelativeLoopDepth() local 2397 assert(OuterLoop); in getRelativeLoopDepth() 2398 return L->getLoopDepth() - OuterLoop->getLoopDepth(); in getRelativeLoopDepth()
|