Home
last modified time | relevance | path

Searched refs:InnerLoop (Results 1 – 21 of 21) sorted by relevance

/llvm-project/llvm/lib/Analysis/
H A DLoopNestAnalysis.cpp35 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 DLoopAccessAnalysis.cpp337 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 DLoopInterchange.cpp225 // 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 DLoopFlatten.cpp116 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 Dmultiple-backedges-hal.ll44 ; 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 Douter_loop_test1_no_explicit_vect_width.ll33 ; 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 Dloop_proto_to_cxx.cpp31 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 Dloop_proto_to_llvm.cpp38 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 Douter_loop_test1_no_explicit_vect_width.ll32 ; 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 DLoopNestAnalysis.h40 /// 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 Douter_loop_test1.ll29 ; 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 DX86LowerAMXIntrinsics.cpp263 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 DLoopInfoTest.cpp1633 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 DMachineLICM.cpp911 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 DMachineBlockPlacement.cpp2652 for (const MachineLoop *InnerLoop : L) in buildLoopChains()
2653 buildLoopChains(*InnerLoop); in buildLoopChains()
2642 for (const MachineLoop *InnerLoop : L) buildLoopChains() local
H A DMachinePipeliner.cpp281 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 DLoopUtils.cpp900 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 DZoneAlgo.cpp317 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 DCGExprAgg.cpp1870 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 DOpenMPIRBuilderTest.cpp1548 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 DOMPIRBuilder.cpp5662 CanonicalLoopInfo *InnerLoop = LoopNest[1]; in EmitOMPInlinedRegion()
5670 InnerLoop, in EmitOMPInlinedRegion()
5420 CanonicalLoopInfo *InnerLoop = LoopNest[1]; unrollLoopPartial() local