| /llvm-project/llvm/lib/Analysis/ |
| H A D | LoopNestAnalysis.cpp | 35 static bool checkLoopsStructure(const Loop &OuterLoop, const Loop &InnerLoop, 70 static CmpInst *getInnerLoopGuardCmp(const Loop &InnerLoop) { in getInnerLoopGuardCmp() argument 72 BranchInst *InnerGuard = InnerLoop.getLoopGuardBranch(); in getInnerLoopGuardCmp() 103 bool LoopNest::arePerfectlyNested(const Loop &OuterLoop, const Loop &InnerLoop, in arePerfectlyNested() argument 105 return (analyzeLoopNestForPerfectNest(OuterLoop, InnerLoop, SE) == in arePerfectlyNested() 110 const Loop &OuterLoop, const Loop &InnerLoop, ScalarEvolution &SE) { in analyzeLoopNestForPerfectNest() argument 113 assert(!InnerLoop.isOutermost() && "Inner loop should have a parent"); in analyzeLoopNestForPerfectNest() 115 << "' and '" << InnerLoop.getName() in analyzeLoopNestForPerfectNest() 124 if (!checkLoopsStructure(OuterLoop, InnerLoop, SE)) { in analyzeLoopNestForPerfectNest() 138 CmpInst *InnerLoopGuardCmp = getInnerLoopGuardCmp(InnerLoop); in analyzeLoopNestForPerfectNest() 182 getInterveningInstructions(const Loop & OuterLoop,const Loop & InnerLoop,ScalarEvolution & SE) getInterveningInstructions() argument 270 const Loop *InnerLoop = SubLoops->front(); getMaxPerfectDepth() local 315 checkLoopsStructure(const Loop & OuterLoop,const Loop & InnerLoop,ScalarEvolution & SE) checkLoopsStructure() argument [all...] |
| H A D | LoopAccessAnalysis.cpp | 337 const Loop *InnerLoop = SrcAR->getLoop(); in tryToCreateDiffCheck() 342 if (HoistRuntimeChecks && InnerLoop->getParentLoop() && in tryToCreateDiffCheck() 348 StartARLoop == InnerLoop->getParentLoop() && in tryToCreateDiffCheck() 346 const Loop *InnerLoop = SrcAR->getLoop(); tryToCreateDiffCheck() local
|
| /llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | LoopInterchange.cpp | 225 // before and after swapping OuterLoop vs InnerLoop in populateWorklist() 286 : OuterLoop(Outer), InnerLoop(Inner), SE(SE), ORE(ORE) {} 317 /// to be passed as \p InnerLoop. 320 Loop *InnerLoop); 323 Loop *InnerLoop; 344 : OuterLoop(Outer), InnerLoop(Inner), SE(SE), ORE(ORE) {} 347 bool isProfitable(const Loop *InnerLoop, const Loop *OuterLoop, 363 Loop *InnerLoop; 378 : OuterLoop(Outer), InnerLoop(Inner), SE(SE), LI(LI), DT(DT), LIL(LIL) {} in run() 380 /// Interchange OuterLoop and InnerLoop in run() 282 Loop *InnerLoop; global() member in __anone99bb3080211::LoopInterchangeLegality 322 Loop *InnerLoop; global() member in __anone99bb3080211::LoopInterchangeProfitability 351 Loop *InnerLoop; global() member in __anone99bb3080211::LoopInterchangeTransform 547 tightlyNested(Loop * OuterLoop,Loop * InnerLoop) tightlyNested() argument 730 findInductionAndReductions(Loop * L,SmallVector<PHINode *,8> & Inductions,Loop * InnerLoop) findInductionAndReductions() argument 884 areOuterLoopExitPHIsSupported(Loop * OuterLoop,Loop * InnerLoop) areOuterLoopExitPHIsSupported() argument 917 areInnerLoopLatchPHIsSupported(Loop * OuterLoop,Loop * InnerLoop) areInnerLoopLatchPHIsSupported() argument 1154 isProfitable(const Loop * InnerLoop,const Loop * OuterLoop,unsigned InnerLoopId,unsigned OuterLoopId,CharMatrix & DepMatrix,const DenseMap<const Loop *,unsigned> & CostMap,std::unique_ptr<CacheCost> & CC) isProfitable() argument 1197 removeChildLoop(Loop * OuterLoop,Loop * InnerLoop) removeChildLoop() argument 1447 moveLCSSAPhis(BasicBlock * InnerExit,BasicBlock * InnerHeader,BasicBlock * InnerLatch,BasicBlock * OuterHeader,BasicBlock * OuterLatch,BasicBlock * OuterExit,Loop * InnerLoop,LoopInfo * LI) moveLCSSAPhis() argument [all...] |
| H A D | LoopFlatten.cpp | 116 Loop *InnerLoop = nullptr; member 151 FlattenInfo(Loop *OL, Loop *IL) : OuterLoop(OL), InnerLoop(IL){}; in FlattenInfo() 488 for (PHINode &InnerPHI : FI.InnerLoop->getHeader()->phis()) { in checkPHIs() 500 InnerPHI.getIncomingValueForBlock(FI.InnerLoop->getLoopPreheader()); in checkPHIs() 502 InnerPHI.getIncomingValueForBlock(FI.InnerLoop->getLoopLatch()); in checkPHIs() 563 if (FI.InnerLoop->contains(B)) in checkOuterLoopInsts() 584 Br->getSuccessor(0) == FI.InnerLoop->getHeader()) in checkOuterLoopInsts() 668 if (!isGuaranteedToExecuteForEveryIteration(GEPUserInst, FI.InnerLoop)) in checkOverflow() 705 if (!findLoopComponents(FI.InnerLoop, IterationInstructions, in CanFlattenLoopPair() 755 OptimizationRemark Remark(DEBUG_TYPE, "Flattened", FI.InnerLoop in DoFlattenLoopPair() [all...] |
| /llvm-project/llvm/test/Analysis/MemorySSA/ |
| H A D | multiple-backedges-hal.ll | 44 ; CHECK: 5 = MemoryPhi({Entry,1},{InnerLoop.Tail,3}) 51 br label %InnerLoop 53 InnerLoop: 54 ; CHECK: 4 = MemoryPhi({OuterLoop,2},{InnerLoop,3}) 64 br i1 %KeepGoing, label %InnerLoop.Tail, label %InnerLoop 66 InnerLoop.Tail:
|
| /llvm-project/llvm/test/Transforms/LoopVectorize/X86/ |
| H A D | outer_loop_test1_no_explicit_vect_width.ll | 33 ; CHECK: br label %[[InnerLoop:.+]] 35 ; CHECK: [[InnerLoop]]: 36 ; CHECK: %[[InnerPhi:.*]] = phi <4 x i64> [ zeroinitializer, %vector.body ], [ %[[InnerPhiNext:.*]], %[[InnerLoop]] ] 42 ; CHECK: br i1 %[[InnerCond]], label %[[ForInc]], label %[[InnerLoop]] 62 ; AVX: br label %[[InnerLoop:.+]] 64 ; AVX: [[InnerLoop]]: 65 ; AVX: %[[InnerPhi:.*]] = phi <8 x i64> [ zeroinitializer, %vector.body ], [ %[[InnerPhiNext:.*]], %[[InnerLoop]] ] 71 ; AVX: br i1 %[[InnerCond]], label %[[ForInc]], label %[[InnerLoop]]
|
| /llvm-project/clang/tools/clang-fuzzer/proto-to-cxx/ |
| H A D | loop_proto_to_cxx.cpp | 31 class InnerLoop { class 33 InnerLoop() { in InnerLoop() function in clang_fuzzer::InnerLoop 36 ~InnerLoop() { in ~InnerLoop() 127 InnerLoop IL; in NestedLoopToString()
|
| /llvm-project/clang/tools/clang-fuzzer/proto-to-llvm/ |
| H A D | loop_proto_to_llvm.cpp | 38 class InnerLoop { class 40 InnerLoop() { in InnerLoop() function in clang_fuzzer::InnerLoop 43 ~InnerLoop() { in ~InnerLoop() 155 InnerLoop IL; in NestedLoopToString()
|
| /llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/ |
| H A D | outer_loop_test1_no_explicit_vect_width.ll | 32 ; CHECK: br label %[[InnerLoop:.+]] 34 ; CHECK: [[InnerLoop]]: 35 ; CHECK: %[[InnerPhi:.*]] = phi <4 x i64> [ zeroinitializer, %vector.body ], [ %[[InnerPhiNext:.*]], %[[InnerLoop]] ] 41 ; CHECK: br i1 %[[InnerCond]], label %[[ForInc]], label %[[InnerLoop]] 97 ; CHECK: br label %[[InnerLoop:.+]] 99 ; CHECK: [[InnerLoop]]: 100 ; CHECK: %[[InnerPhi:.*]] = phi <2 x i64> [ zeroinitializer, %vector.body ], [ %[[InnerPhiNext:.*]], %[[InnerLoop]] ] 106 ; CHECK: br i1 %[[InnerCond]], label %[[ForInc]], label %[[InnerLoop]]
|
| /llvm-project/llvm/include/llvm/Analysis/ |
| H A D | LoopNestAnalysis.h | 40 /// Return true if the given loops \p OuterLoop and \p InnerLoop are 51 static bool arePerfectlyNested(const Loop &OuterLoop, const Loop &InnerLoop, 55 /// by loops \p OuterLoop and \p InnerLoop from being perfect. 57 const Loop &InnerLoop, 194 const Loop &InnerLoop,
|
| /llvm-project/llvm/test/Transforms/LoopVectorize/ |
| H A D | outer_loop_test1.ll | 29 ; CHECK: br label %[[InnerLoop:.+]] 31 ; CHECK: [[InnerLoop]]: 32 ; CHECK: %[[InnerPhi:.*]] = phi <4 x i64> [ zeroinitializer, %vector.body ], [ %[[InnerPhiNext:.*]], %[[InnerLoop]] ] 38 ; CHECK: br i1 %[[InnerCond]], label %[[ForInc]], label %[[InnerLoop]]
|
| /llvm-project/llvm/lib/Target/X86/ |
| H A D | X86LowerAMXIntrinsics.cpp | 263 Loop *InnerLoop = nullptr; in createTileDPLoops() 267 InnerLoop = LI->AllocateLoop(); in createTileDPLoops() 268 ColLoop->addChildLoop(InnerLoop); in createTileDPLoops() 288 IntrinName + ".scalarize.inner", B, InnerLoop); in createTileDPLoops() 265 Loop *InnerLoop = nullptr; createTileDPLoops() local
|
| /llvm-project/llvm/unittests/Analysis/ |
| H A D | LoopInfoTest.cpp | 1633 Loop *InnerLoop = LI.getLoopFor(InnerHeader); in TEST() local 1635 EXPECT_NE(InnerLoop, nullptr); in TEST() 1639 EXPECT_TRUE(InnerLoop->isLCSSAForm(DT, /*IgnoreTokens*/ true)); in TEST() 1640 EXPECT_FALSE(InnerLoop->isLCSSAForm(DT, /*IgnoreTokens*/ false)); in TEST() 1646 InnerLoop->isRecursivelyLCSSAForm(DT, LI, /*IgnoreTokens*/ true)); in TEST() 1648 InnerLoop->isRecursivelyLCSSAForm(DT, LI, /*IgnoreTokens*/ false)); in TEST()
|
| /llvm-project/llvm/lib/CodeGen/ |
| H A D | MachineLICM.cpp | 911 MachineLoop *InnerLoop = InnerLoopWorkList.pop_back_val(); in InitRegPressure() 912 MachineBasicBlock *InnerLoopPreheader = InnerLoop->getLoopPreheader(); in InitRegPressure() 914 HoistRes = Hoist(&MI, InnerLoopPreheader, InnerLoop); in InitRegPressure() 877 MachineLoop *InnerLoop = InnerLoopWorkList.pop_back_val(); HoistOutOfLoop() local
|
| H A D | MachineBlockPlacement.cpp | 2652 for (const MachineLoop *InnerLoop : L) in buildLoopChains() 2653 buildLoopChains(*InnerLoop); in buildLoopChains() 2642 for (const MachineLoop *InnerLoop : L) buildLoopChains() local
|
| H A D | MachinePipeliner.cpp | 281 for (const auto &InnerLoop : L) 282 Changed |= scheduleLoop(*InnerLoop); in scheduleLoop() 284 for (const auto &InnerLoop : L) scheduleLoop() local
|
| /llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | LoopUtils.cpp | 900 bool llvm::hasIterationCountInvariantInParent(Loop *InnerLoop, in hasIterationCountInvariantInParent() 902 Loop *OuterL = InnerLoop->getParentLoop(); in hasIterationCountInvariantInParent() 907 BasicBlock *InnerLoopLatch = InnerLoop->getLoopLatch(); in hasIterationCountInvariantInParent() 908 const SCEV *InnerLoopBECountSC = SE.getExitCount(InnerLoop, InnerLoopLatch); in hasIterationCountInvariantInParent() 899 hasIterationCountInvariantInParent(Loop * InnerLoop,ScalarEvolution & SE) hasIterationCountInvariantInParent() argument
|
| /llvm-project/polly/lib/Transform/ |
| H A D | ZoneAlgo.cpp | 317 static bool isInsideLoop(Loop *OuterLoop, Loop *InnerLoop) { in isInsideLoop() argument 320 return !OuterLoop || OuterLoop->contains(InnerLoop); in isInsideLoop()
|
| /llvm-project/clang/lib/CodeGen/ |
| H A D | CGExprAgg.cpp | 1870 ArrayInitLoopExpr *InnerLoop = dyn_cast<ArrayInitLoopExpr>(E->getSubExpr()); in VisitArrayInitLoopExpr() 1893 if (CGF.needsEHCleanup(dtorKind) && !InnerLoop) { in VisitArrayInitLoopExpr() 1913 if (InnerLoop) { in GetNumNonZeroBytesInInit() 1920 .VisitArrayInitLoopExpr(InnerLoop, outerBegin); in GetNumNonZeroBytesInInit() 1823 ArrayInitLoopExpr *InnerLoop = dyn_cast<ArrayInitLoopExpr>(E->getSubExpr()); VisitArrayInitLoopExpr() local
|
| /llvm-project/llvm/unittests/Frontend/ |
| H A D | OpenMPIRBuilderTest.cpp | 1548 CanonicalLoopInfo *InnerLoop = nullptr; in TEST_F() 1567 InnerLoop = InnerLoopResult; in TEST_F() 1569 Builder.restoreIP(InnerLoop->getAfterIP()); in TEST_F() 1583 OMPBuilder.collapseLoops(DL, {OuterLoop, InnerLoop}, ComputeIP); in TEST_F() 1677 CanonicalLoopInfo *InnerLoop = nullptr; in TEST_F() 1693 InnerLoop = InnerLoopResult; in TEST_F() 1708 DL, {OuterLoop, InnerLoop}, {OuterTileSize, InnerTileSize}); in TEST_F() 1782 CanonicalLoopInfo *InnerLoop = nullptr; in TEST_F() 1800 InnerLoop = InnerLoopResult; in TEST_F() 1816 OMPBuilder.tileLoops(DL, {OuterLoop, InnerLoop}, {TileSize in TEST_F() 1454 CanonicalLoopInfo *InnerLoop = nullptr; TEST_F() local 1576 CanonicalLoopInfo *InnerLoop = nullptr; TEST_F() local 1675 CanonicalLoopInfo *InnerLoop = nullptr; TEST_F() local [all...] |
| /llvm-project/llvm/lib/Frontend/OpenMP/ |
| H A D | OMPIRBuilder.cpp | 5662 CanonicalLoopInfo *InnerLoop = LoopNest[1]; in EmitOMPInlinedRegion() 5670 InnerLoop, in EmitOMPInlinedRegion() 5420 CanonicalLoopInfo *InnerLoop = LoopNest[1]; unrollLoopPartial() local
|