Home
last modified time | relevance | path

Searched refs:Loop (Results 1 – 25 of 1196) sorted by relevance

12345678910>>...48

/llvm-project-15.0.7/llvm/include/llvm/Transforms/Utils/
H A DLoopUtils.h32 class Loop; variable
122 SinkAndHoistLICMFlags(bool IsSink, Loop *L = nullptr,
214 Loop *, MemorySSAUpdater &, ICFLoopSafetyInfo *,
230 getOptionalElementCountLoopAttribute(const Loop *TheLoop);
262 bool hasDisableAllTransformsHint(const Loop *L);
265 bool hasDisableLICMTransformsHint(const Loop *L);
315 getLoopEstimatedTripCount(Loop *L,
471 void setProfileInfoAfterUnrolling(Loop *OrigLoop, Loop *UnrolledLoop,
501 Loop *cloneLoop(Loop *L, Loop *PL, ValueToValueMapTy &VM,
507 addRuntimeChecks(Instruction *Loc, Loop *TheLoop,
[all …]
H A DUnrollLoop.h29 class Loop; variable
38 using NewLoopsMap = SmallDenseMap<const Loop *, Loop *, 4>;
49 const Loop* addClonedBlockToLoopInfo(BasicBlock *OriginalBB,
82 Loop **RemainderLoop = nullptr);
85 Loop *L, unsigned Count, bool AllowExpensiveTripCount,
89 Loop **ResultLoop = nullptr);
97 Loop **EpilogueLoop = nullptr);
102 bool computeUnrollCount(Loop *L, const TargetTransformInfo &TTI,
112 void simplifyLoopAfterUnroll(Loop *L, bool SimplifyIVs, LoopInfo *LI,
120 Loop *L, ScalarEvolution &SE, const TargetTransformInfo &TTI,
[all …]
/llvm-project-15.0.7/llvm/lib/CodeGen/
H A DMachineLoopUtils.cpp30 MachineFunction &MF = *Loop->getParent(); in PeelSingleBlockLoop()
32 if (Preheader == Loop) in PeelSingleBlockLoop()
35 if (Exit == Loop) in PeelSingleBlockLoop()
36 Exit = *std::next(Loop->succ_begin()); in PeelSingleBlockLoop()
40 MF.insert(Loop->getIterator(), NewBB); in PeelSingleBlockLoop()
46 for (MachineInstr &MI : *Loop) { in PeelSingleBlockLoop()
111 NewBB->addSuccessor(Loop); in PeelSingleBlockLoop()
113 Preheader->updateTerminator(Loop); in PeelSingleBlockLoop()
117 Loop->replaceSuccessor(Exit, NewBB); in PeelSingleBlockLoop()
118 Exit->replacePhiUsesWith(Loop, NewBB); in PeelSingleBlockLoop()
[all …]
/llvm-project-15.0.7/llvm/include/llvm/Analysis/
H A DLoopNestAnalysis.h23 using LoopVectorTy = SmallVector<Loop *, 8>;
33 LoopNest(Loop &Root, ScalarEvolution &SE);
51 static bool arePerfectlyNested(const Loop &OuterLoop, const Loop &InnerLoop,
80 Loop &getOutermostLoop() const { return *Loops.front(); } in getOutermostLoop()
85 Loop *getInnermostLoop() const { in getInnermostLoop()
92 Loop *LastLoop = Loops.back(); in getInnermostLoop()
100 Loop *getLoop(unsigned Index) const { in getLoop()
106 unsigned getLoopIndex(const Loop &L) const { in getLoopIndex()
117 ArrayRef<Loop *> getLoops() const { return Loops; } in getLoops()
125 Loop *L = getLoop(I); in getLoopsAtDepth()
[all …]
H A DScalarEvolution.h58 class Loop; variable
920 void forgetLoop(const Loop *L);
926 void forgetTopmostLoop(const Loop *L);
938 void forgetLoopDispositions(const Loop *L);
1177 const SCEV *S, const Loop *L,
1201 bool loopHasNoAbnormalExits(const Loop *L) {
1207 bool loopIsFiniteByAssumption(const Loop *L);
1510 bool loopHasNoSideEffects(const Loop *L) {
1684 const Loop *L;
1969 const Loop *L);
[all …]
H A DLoopCacheAnalysis.h28 class Loop; variable
34 using LoopVectorTy = SmallVector<Loop *, 8>;
95 CacheCostTy computeRefCost(const Loop &L, unsigned CLS) const;
106 bool isLoopInvariant(const Loop &L) const;
120 int getSubscriptIndex(const Loop &L) const;
128 const Loop &L) const;
190 using LoopTripCountTy = std::pair<const Loop *, unsigned>;
214 CacheCostTy getLoopCost(const Loop &L) const { in getLoopCost()
236 CacheCostTy computeLoopCacheCost(const Loop &L,
250 const Loop &L) const;
[all …]
H A DDependenceAnalysis.h50 class Loop; variable
388 const Loop *AssociatedLoop;
433 const Loop *getAssociatedLoop() const;
538 const Loop *LoopNest,
544 const Loop *LoopNest,
550 const Loop *LoopNest,
651 const Loop *CurrentLoop,
688 const Loop *CurrentLoop,
741 const Loop *SrcLoop,
742 const Loop *DstLoop,
[all …]
/llvm-project-15.0.7/llvm/test/Analysis/ScalarEvolution/
H A Dtrip-count9.ll19 ; CHECK: Loop %loop: Trip multiple is 1
59 ; CHECK: Loop %loop: Trip multiple is 1
99 ; CHECK: Loop %loop: Trip multiple is 1
139 ; CHECK: Loop %loop: Trip multiple is 1
168 ; CHECK: Loop %loop: Trip multiple is 1
189 ; CHECK: Loop %loop: Trip multiple is 1
210 ; CHECK: Loop %loop: Trip multiple is 1
231 ; CHECK: Loop %loop: Trip multiple is 1
252 ; CHECK: Loop %loop: Trip multiple is 1
273 ; CHECK: Loop %loop: Trip multiple is 2
[all …]
H A Dtrip-count-andor.ll14 ; CHECK: Loop %loop: Trip multiple is 1
37 ; CHECK: Loop %loop: Trip multiple is 1
60 ; CHECK: Loop %loop: Trip multiple is 1
83 ; CHECK: Loop %loop: Trip multiple is 1
148 ; CHECK: Loop %loop: Trip multiple is 1
171 ; CHECK: Loop %loop: Trip multiple is 1
194 ; CHECK: Loop %loop: Trip multiple is 1
217 ; CHECK: Loop %loop: Trip multiple is 1
282 ; CHECK: Loop %loop: Trip multiple is 1
305 ; CHECK: Loop %loop: Trip multiple is 1
[all …]
H A Dtrip-count-andor-selectform.ll14 ; CHECK: Loop %loop: Trip multiple is 1
37 ; CHECK: Loop %loop: Trip multiple is 1
60 ; CHECK: Loop %loop: Trip multiple is 1
83 ; CHECK: Loop %loop: Trip multiple is 1
148 ; CHECK: Loop %loop: Trip multiple is 1
171 ; CHECK: Loop %loop: Trip multiple is 1
194 ; CHECK: Loop %loop: Trip multiple is 1
217 ; CHECK: Loop %loop: Trip multiple is 1
282 ; CHECK: Loop %loop: Trip multiple is 1
305 ; CHECK: Loop %loop: Trip multiple is 1
[all …]
H A Dtrip-count-negative-stride.ll63 ; CHECK: Loop %for.body: Trip multiple is 2
87 ; CHECK: Loop %for.body: Trip multiple is 1
109 ; CHECK: Loop %for.body: Trip multiple is 1
159 ; CHECK: Loop %for.body: Trip multiple is 3
183 ; CHECK: Loop %for.body: Trip multiple is 1
207 ; CHECK: Loop %for.body: Trip multiple is 2
229 ; CHECK: Loop %for.body: Trip multiple is 2
349 ; CHECK: Loop %for.body: Trip multiple is 1
373 ; CHECK: Loop %for.body: Trip multiple is 1
441 ; CHECK: Loop %for.body: Trip multiple is 1
[all …]
H A Dtrip-multiple-guard-info.ll11 ; CHECK: Loop %for.body: Trip multiple is 4
37 ; CHECK: Loop %for.body: Trip multiple is 4
63 ; CHECK: Loop %for.body: Trip multiple is 2
88 ; CHECK: Loop %for.body: Trip multiple is 4
114 ; CHECK: Loop %for.body: Trip multiple is 2
139 ; CHECK: Loop %for.body: Trip multiple is 4
165 ; CHECK: Loop %for.body: Trip multiple is 1
191 ; CHECK: Loop %for.body: Trip multiple is 4
216 ; CHECK: Loop %for.body: Trip multiple is 1
242 ; CHECK: Loop %for.body: Trip multiple is 4
[all …]
H A Dne-overflow.ll13 ; CHECK-NEXT: Loop %for.body: backedge-taken count is ((-2 + %N) /u 2)
14 ; CHECK-NEXT: Loop %for.body: max backedge-taken count is 2147483647
17 ; CHECK: Loop %for.body: Trip multiple is 1
35 ; CHECK-NEXT: Loop %for.body: backedge-taken count is (%N /u 2)
39 ; CHECK: Loop %for.body: Trip multiple is 1
60 ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count.
81 ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count.
128 ; CHECK: Loop %for.body: Trip multiple is 1
147 ; CHECK-NEXT: Loop %for.body: max backedge-taken count is -1
150 ; CHECK: Loop %for.body: Trip multiple is 1
[all …]
H A Dtrip-count10.ll9 ; CHECK-NEXT: Loop %loop: Unpredictable backedge-taken count.
29 ; CHECK-NEXT: Loop %loop: backedge-taken count is false
30 ; CHECK-NEXT: Loop %loop: max backedge-taken count is false
33 ; CHECK: Loop %loop: Trip multiple is 1
51 ; CHECK-NEXT: Loop %loop: backedge-taken count is false
52 ; CHECK-NEXT: Loop %loop: max backedge-taken count is false
55 ; CHECK: Loop %loop: Trip multiple is 1
129 ; CHECK-NEXT: Loop %loop: backedge-taken count is 1
130 ; CHECK-NEXT: Loop %loop: max backedge-taken count is 1
133 ; CHECK: Loop %loop: Trip multiple is 2
[all …]
H A Doverflow-intrinsics-trip-count.ll18 ; CHECK: Loop %for.body: Trip multiple is 36
44 ; CHECK: Loop %for.body: Trip multiple is 68
70 ; CHECK: Loop %for.body: Trip multiple is 51
96 ; CHECK: Loop %for.body: Trip multiple is 69
122 ; CHECK: Loop %for.body: Trip multiple is 15
148 ; CHECK: Loop %for.body: Trip multiple is 16
174 ; CHECK: Loop %for.body: Trip multiple is 1
200 ; CHECK: Loop %for.body: Trip multiple is 1
275 ; CHECK: Loop %for.body: Trip multiple is 1
301 ; CHECK: Loop %for.body: Trip multiple is 1
[all …]
/llvm-project-15.0.7/llvm/lib/Analysis/
H A DLoopInfo.cpp197 Optional<Loop::LoopBounds> Loop::LoopBounds::getBounds(const Loop &L, in getBounds()
283 Optional<Loop::LoopBounds> Loop::getBounds(ScalarEvolution &SE) const { in getBounds()
497 MDNode *Loop::getLoopID() const { in getLoopID()
629 Loop::LocRange Loop::getLocRange() const { in getLocRange()
678 Loop &Unloop;
687 DenseMap<Loop *, Loop *> SubloopParents;
703 Loop *getNearestLoop(BasicBlock *BB, Loop *BBLoop);
797 Loop *UnloopUpdater::getNearestLoop(BasicBlock *BB, Loop *BBLoop) { in getNearestLoop()
801 Loop *NearLoop = BBLoop; in getNearestLoop()
803 Loop *Subloop = nullptr; in getNearestLoop()
[all …]
/llvm-project-15.0.7/llvm/include/llvm/Transforms/Scalar/
H A DLoopPassManager.h204 static const Loop &getLoopFromIR(Loop &L) { return L; } in getLoopFromIR()
205 static const Loop &getLoopFromIR(LoopNest &LN) { in getLoopFromIR()
291 void setParentLoop(Loop *L) {
311 for (Loop *NewL : NewChildLoops)
332 for (Loop *NewL : NewSibLoops)
363 SmallPriorityWorklist<Loop *, 4> &Worklist;
368 Loop *CurrentL;
375 Loop *ParentL;
389 const Loop &L = getLoopFromIR(IR);
392 if (!PI.runBeforePass<Loop>(*Pass, L))
[all …]
/llvm-project-15.0.7/llvm/test/Analysis/BasicAA/
H A Dstore-promote.ll14 br label %Loop
16 Loop: ; preds = %Loop, %0
19 br i1 %c, label %Out, label %Loop
21 Out: ; preds = %Loop
30 ; CHECK: Loop:
31 ; CHECK-NEXT: br i1 %c, label %Out, label %Loop
36 br label %Loop
38 Loop: ; preds = %Loop, %0
45 br i1 %c, label %Out, label %Loop
47 Out: ; preds = %Loop
[all …]
/llvm-project-15.0.7/llvm/test/Transforms/IndVarSimplify/
H A Dexit_value_tests.ll14 br label %Loop
16 Loop: ; preds = %Loop, %0
24 Out: ; preds = %Loop
35 br label %Loop
37 Loop: ; preds = %Loop, %0
62 br label %Loop
64 Loop: ; preds = %Loop, %0
82 br label %Loop
84 Loop: ; preds = %Loop, %0
121 br label %Loop
[all …]
/llvm-project-15.0.7/llvm/test/CodeGen/RISCV/
H A Datomic-cmpxchg-branch-on-result.ll14 ; CHECK-NEXT: # =>This Loop Header: Depth=1
15 ; CHECK-NEXT: # Child Loop BB0_3 Depth 2
17 ; CHECK-NEXT: # Parent Loop BB0_1 Depth=1
22 ; CHECK-NEXT: # in Loop: Header=BB0_3 Depth=2
44 ; CHECK-NEXT: # =>This Loop Header: Depth=1
45 ; CHECK-NEXT: # Child Loop BB1_3 Depth 2
47 ; CHECK-NEXT: # Parent Loop BB1_1 Depth=1
83 ; RV32IA-NEXT: # Child Loop BB2_3 Depth 2
85 ; RV32IA-NEXT: # Parent Loop BB2_1 Depth=1
116 ; RV64IA-NEXT: # Child Loop BB2_3 Depth 2
[all …]
/llvm-project-15.0.7/llvm/test/Transforms/LoopStrengthReduce/
H A Ddont_insert_redundant_ops.ll12 br label %Loop
13 Loop: ; preds = %Loop, %0
14 %INDVAR = phi i32 [ 0, %0 ], [ %INDVAR2, %Loop ] ; <i32> [#uses=3]
21 br i1 %cond, label %Loop, label %Out
22 Out: ; preds = %Loop
28 br label %Loop
29 Loop: ; preds = %Loop, %0
30 %INDVAR = phi i32 [ 0, %0 ], [ %INDVAR2, %Loop ] ; <i32> [#uses=3]
37 br i1 %cond, label %Loop, label %Out
38 Out: ; preds = %Loop
/llvm-project-15.0.7/llvm/test/DebugInfo/MIR/InstrRef/
H A Dfollow-spill-of-live-value.mir37 …_Deque_iterator" = type { %"class.llvm::Loop"**, %"class.llvm::Loop"**, %"class.llvm::Loop"**, %"c…
41 %0 = load %"class.llvm::Loop"**, %"class.llvm::Loop"*** undef, align 8, !dbg !7
44 %2 = load %"class.llvm::Loop"**, %"class.llvm::Loop"*** undef, align 8, !dbg !7
60 store %"class.llvm::Loop"** %6, %"class.llvm::Loop"*** undef, align 8, !dbg !7
64 store %"class.llvm::Loop"*** %5, %"class.llvm::Loop"**** %8, align 8, !dbg !7
68 %11 = load %"class.llvm::Loop"**, %"class.llvm::Loop"*** %10, align 8, !dbg !7
69 %12 = load %"class.llvm::Loop"**, %"class.llvm::Loop"*** undef, align 8, !dbg !7
73 %15 = load %"class.llvm::Loop"***, %"class.llvm::Loop"**** %14, align 8, !dbg !7
108 %18 = load %"class.llvm::Loop"*, %"class.llvm::Loop"** %11, align 8, !dbg !7
119 store %"class.llvm::Loop"** %2, %"class.llvm::Loop"*** undef, align 8, !dbg !7
[all …]
/llvm-project-15.0.7/llvm/test/Analysis/MemorySSA/
H A Dmulti-edges.ll12 br i1 %a, label %Loop.Body, label %Loop.End
14 Loop.Body:
15 ; CHECK: 4 = MemoryPhi({entry,1},{Loop.End,3})
19 br i1 %a, label %Loop.End, label %Loop.End ; WhyDoWeEvenHaveThatLever.gif
21 Loop.End:
22 ; CHECK: 3 = MemoryPhi({entry,1},{Loop.Body,2},{Loop.Body,2})
27 br i1 %2, label %Ret, label %Loop.Body
/llvm-project-15.0.7/llvm/tools/llvm-exegesis/lib/
H A DSnippetRepetitor.cpp63 auto Loop = Filler.addBasicBlock(); in Repeat() local
82 Entry.MBB->addSuccessor(Loop.MBB, BranchProbability::getOne()); in Repeat()
83 Loop.MBB->addSuccessor(Loop.MBB, BranchProbability::getOne()); in Repeat()
86 Loop.MBB->addLiveIn(LoopCounter); in Repeat()
88 Loop.MBB->addLiveIn(Reg); in Repeat()
90 Loop.MBB->addLiveIn(LiveIn); in Repeat()
93 Loop.addInstructions(Instructions); in Repeat()
95 ET.decrementLoopCounterAndJump(*Loop.MBB, *Loop.MBB, in Repeat()
99 Loop.MBB->addSuccessor(Exit.MBB, BranchProbability::getZero()); in Repeat()
124 case InstructionBenchmark::Loop: in Create()
/llvm-project-15.0.7/llvm/test/Transforms/LoopSimplify/
H A Dhardertest.ll6 br label %Loop
8 br label %Loop
9 Loop: ; preds = %L2, %Loop, %F, %T
10 %Val = phi i32 [ 0, %T ], [ 1, %F ], [ 2, %Loop ], [ 3, %L2 ] ; <i32> [#uses=0]
11 br i1 %C, label %Loop, label %L2
12 L2: ; preds = %Loop
13 br label %Loop

12345678910>>...48