Home
last modified time | relevance | path

Searched refs:loops (Results 1 – 25 of 776) sorted by relevance

12345678910>>...32

/llvm-project-15.0.7/mlir/lib/Dialect/Affine/Transforms/
H A DLoopUnroll.cpp75 SmallVectorImpl<AffineForOp> &loops) { in gatherInnermostLoops() argument
78 loops.push_back(forOp); in gatherInnermostLoops()
89 SmallVector<AffineForOp, 4> loops; in runOnOperation() local
97 loops.push_back(forOp); in runOnOperation()
99 for (auto forOp : loops) in runOnOperation()
105 SmallVector<AffineForOp, 4> loops; in runOnOperation() local
107 loops.clear(); in runOnOperation()
108 gatherInnermostLoops(func, loops); in runOnOperation()
109 if (loops.empty()) in runOnOperation()
112 for (auto forOp : loops) in runOnOperation()
H A DLoopCoalescing.cpp34 SmallVector<LoopOpTy, 4> loops; in walkLoop() local
35 getPerfectlyNestedLoops(loops, op); in walkLoop()
37 << "found a perfect nest of depth " << loops.size() << '\n'); in walkLoop()
43 SmallVector<unsigned, 4> operandsDefinedAbove(loops.size()); in walkLoop()
44 for (unsigned i = 0, e = loops.size(); i < e; ++i) { in walkLoop()
47 if (areValuesDefinedAbove(loops[i].getOperands(), in walkLoop()
48 loops[j].getRegion())) { in walkLoop()
61 for (unsigned end = loops.size(); end > 0; --end) { in walkLoop()
76 llvm::makeMutableArrayRef(loops.data() + start, end - start); in walkLoop()
H A DSuperVectorize.cpp1506 if (currentLevel == loops.size()) in getMatchedAffineLoopsRec()
1507 loops.emplace_back(); in getMatchedAffineLoopsRec()
1524 getMatchedAffineLoopsRec(match, /*currLoopDepth=*/0, loops); in getMatchedAffineLoops()
1533 AffineForOp rootLoop = loops[0][0]; in vectorizeLoopNest()
1773 if (loops.empty()) in verifyLoopNesting()
1777 if (loops[0].size() != 1) in verifyLoopNesting()
1781 for (int i = 1, end = loops.size(); i < end; ++i) { in verifyLoopNesting()
1782 for (AffineForOp loop : loops[i]) { in verifyLoopNesting()
1792 for (AffineForOp sibling : loops[i]) { in verifyLoopNesting()
1862 if (failed(verifyLoopNesting(loops))) in vectorizeAffineLoopNest()
[all …]
/llvm-project-15.0.7/llvm/test/CodeGen/PowerPC/
H A Dppc-passname-assert.ll3 ; Test pass name: ppc-ctr-loops-verify.
4 …werpc64le-unknown-unknown < %s -debug-pass=Structure -stop-before=ppc-ctr-loops-verify -o /dev/nul…
5 ; STOP-BEFORE-CTR-LOOPS-VERIFY-NOT: -ppc-ctr-loops-verify
6 ; STOP-BEFORE-CTR-LOOPS-VERIFY-NOT: "ppc-ctr-loops-verify" pass is not registered.
9 …owerpc64le-unknown-unknown < %s -debug-pass=Structure -stop-after=ppc-ctr-loops-verify -o /dev/nul…
10 ; STOP-AFTER-CTR-LOOPS-VERIFY: -ppc-ctr-loops-verify
11 ; STOP-AFTER-CTR-LOOPS-VERIFY-NOT: "ppc-ctr-loops-verify" pass is not registered.
/llvm-project-15.0.7/mlir/lib/Dialect/SCF/Transforms/
H A DTileUsingInterface.cpp107 SmallVector<scf::ForOp> loops; in generateTileLoopNest() local
141 loops.push_back(loop); in generateTileLoopNest()
144 return loops; in generateTileLoopNest()
216 tilingResult.loops = generateTileLoopNest( in returningMatchAndRewrite()
226 if (!tilingResult.loops.empty()) { in returningMatchAndRewrite()
228 tilingResult.loops.front().dump(); in returningMatchAndRewrite()
234 if (!tilingResult.loops.empty()) in returningMatchAndRewrite()
246 if (!tilingResult.loops.empty()) { in returningMatchAndRewrite()
248 tilingResult.loops.front().dump(); in returningMatchAndRewrite()
262 if (tilingResult.loops.empty()) { in returningMatchAndRewrite()
[all …]
/llvm-project-15.0.7/llvm/test/Transforms/SimpleLoopUnswitch/
H A Dexponential-nontrivial-unswitch.ll7 ; RUN: -passes='loop(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 | Fil…
11 ; RUN: -passes='loop(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 | Fil…
15 ; RUN: -passes='loop-mssa(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 …
19 ; RUN: -passes='loop-mssa(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 …
28 ; RUN: -passes='loop(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 | Fil…
32 ; RUN: -passes='loop-mssa(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 …
35 ; siblings multiplier for top-level loops (toplevel-div == 8) we should get
41 ; RUN: -passes='loop(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 | Fil…
52 ; RUN: -passes='loop(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 | Fil…
61 ; 5 loops, unswitched 4 times
[all …]
H A Dexponential-nontrivial-unswitch2.ll9 ; RUN: -passes='loop(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 | Fil…
13 ; RUN: -passes='loop(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 | Fil…
17 ; RUN: -passes='loop(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 | Fil…
21 ; RUN: -passes='loop(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 | Fil…
24 ; RUN: -passes='loop(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 | Fil…
29 ; RUN: -passes='loop-mssa(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 …
33 ; RUN: -passes='loop-mssa(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 …
37 ; RUN: -passes='loop-mssa(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 …
41 ; RUN: -passes='loop-mssa(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 …
44 ; RUN: -passes='loop-mssa(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 …
H A Dexponential-nontrivial-unswitch-nested.ll7 ; RUN: -passes='loop-mssa(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 …
11 ; RUN: -passes='loop(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 | Fil…
15 ; RUN: -passes='loop-mssa(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 …
19 ; RUN: -passes='loop-mssa(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 …
31 ; RUN: -passes='loop-mssa(licm,simple-loop-unswitch<nontrivial>),print<loops>' -disable-output …
39 ; RUN: -passes='loop-mssa(licm,simple-loop-unswitch<nontrivial>),print<loops>' -disable-output …
47 ; RUN: -passes='loop-mssa(licm,simple-loop-unswitch<nontrivial>),print<loops>' -disable-output …
56 ; Half unswitched loop nests, with unscaled4 and div1 it gets less depth1 loops unswitched
63 ; Half unswitched loop nests, with unscaled4 and div2 it gets more depth1 loops unswitched
H A Dexponential-nontrivial-unswitch-nested2.ll12 ; RUN: -passes='loop(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 | Fil…
16 ; RUN: -passes='loop(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 | Fil…
20 ; RUN: -passes='loop-mssa(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 …
24 ; RUN: -passes='loop-mssa(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 …
27 ; (unscaled candidates == 2) we start getting some unswitches in outer loops,
36 ; RUN: -passes='loop-mssa(licm,simple-loop-unswitch<nontrivial>),print<loops>' -disable-output …
44 ; RUN: -passes='loop-mssa(licm,simple-loop-unswitch<nontrivial>),print<loops>' -disable-output …
50 ; RUN: -passes='loop-mssa(licm,simple-loop-unswitch<nontrivial>),print<loops>' -disable-output …
61 ; Half unswitched loop nests, with unscaled3 and div1 it gets less depth1 loops unswitched
70 ; Half unswitched loop nests, with unscaled3 and div2 it gets more depth1 loops unswitched
H A Dexponential-switch-unswitch.ll14 ; RUN: -passes='loop(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 | Fil…
18 ; RUN: -passes='loop(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 | Fil…
22 ; RUN: -passes='loop-mssa(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 …
26 ; RUN: -passes='loop-mssa(simple-loop-unswitch<nontrivial>),print<loops>' -disable-output 2>&1 …
37 ; RUN: -passes='loop-mssa(licm,simple-loop-unswitch<nontrivial>),print<loops>' -disable-output …
41 ; siblings multiplier for top-level loops (toplevel-div == 8) we should get
46 ; RUN: -passes='loop-mssa(licm,simple-loop-unswitch<nontrivial>),print<loops>' -disable-output …
52 ; RUN: -passes='loop-mssa(licm,simple-loop-unswitch<nontrivial>),print<loops>' -disable-output …
/llvm-project-15.0.7/mlir/include/mlir/Dialect/SCF/Transforms/
H A DPasses.td32 let summary = "Peel `for` loops at their upper bounds.";
37 "Do not peel loops inside of the last, partial iteration of another "
44 let summary = "Specialize `for` loops for vectorization";
49 let summary = "Fuse adjacent parallel loops";
54 let summary = "Collapse parallel loops to use less induction variables";
68 let summary = "Specialize parallel loops for vectorization";
73 let summary = "Tile parallel loops";
77 "Factors to tile parallel loops by">,
81 "inside the internal loops">
92 let summary = "Convert SCF for loops to SCF while loops";
/llvm-project-15.0.7/mlir/lib/Dialect/SCF/Utils/
H A DUtils.cpp613 if (loops.size() < 2) in coalesceLoops()
621 for (auto loop : loops) in coalesceLoops()
660 scf::ForOp second = loops[1]; in coalesceLoops()
670 OpBuilder outsideBuilder(loops); in collapseParallelLoops()
671 Location loc = loops.getLoc(); in collapseParallelLoops()
685 loops.getLowerBound()[i], loops.getUpperBound()[i], in collapseParallelLoops()
686 loops.getStep()[i], loops.getBody()->getArgument(i)); in collapseParallelLoops()
744 loops.getBody()->back().erase(); in collapseParallelLoops()
748 loops.erase(); in collapseParallelLoops()
902 assert(loops.size() == 1); in tile()
[all …]
/llvm-project-15.0.7/llvm/test/MC/Hexagon/PacketRules/
H A Dendloop_branches.s5 # CHECK: 4:1: error: Branches cannot be in a packet with hardware loops
9 # CHECK: 8:1: error: Branches cannot be in a packet with hardware loops
13 # CHECK: 12:1: error: Branches cannot be in a packet with hardware loops
17 # CHECK: 16:1: error: Branches cannot be in a packet with hardware loops
/llvm-project-15.0.7/clang-tools-extra/docs/clang-tidy/checks/bugprone/
H A Dinfinite-loop.rst6 Finds obvious infinite loops (loops where the condition variable is not changed
9 Finding infinite loops is well-known to be impossible (halting problem).
10 However, it is possible to detect some obvious infinite loops, for example, if
11 the loop condition is not changed. This check detects such loops. A loop is
/llvm-project-15.0.7/llvm/test/Transforms/HardwareLoops/
H A Dunconditional-latch.ll1 ; RUN: opt -force-hardware-loops=true -hardware-loop-decrement=1 -hardware-loop-counter-bitwidth=32…
2 ; RUN: opt -force-hardware-loops=true -hardware-loop-decrement=1 -hardware-loop-counter-bitwidth=32…
3 … -force-hardware-loops=true -hardware-loop-decrement=1 -hardware-loop-counter-bitwidth=32 -force-h…
H A Dunscevable.ll1 ; RUN: opt -hardware-loops -force-hardware-loops=true -hardware-loop-decrement=1 -hardware-loop-cou…
2 ; RUN: opt -hardware-loops -force-hardware-loops=true -hardware-loop-decrement=1 -hardware-loop-cou…
3 ; RUN: opt -hardware-loops -force-hardware-loops=true -hardware-loop-decrement=1 -hardware-loop-cou…
/llvm-project-15.0.7/llvm/test/Transforms/LoopUnroll/
H A Drevisit.ll1 ; This test checks that nested loops are revisited in various scenarios when
11 ; RUN: opt < %s -disable-output -debug-pass-manager -unroll-revisit-child-loops 2>&1 \
16 ; loops, including the ones that used to be child loops.
60 ; Unrolling occurs, so we visit what were the inner loops twice over. First we
61 ; visit their clones, and then we visit the original loops re-parented.
81 ; duplicating child loops without changing their structure and so they aren't by
126 ; Partial unrolling occurs which introduces both new child loops and new sibling
127 ; loops. We only visit the child loops in a special mode, not by default.
/llvm-project-15.0.7/polly/test/ScopDetect/
H A Dnon-affine-loop.ll1 ; RUN: opt %loadPolly -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=false …
2 ; RUN: opt %loadPolly -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true …
3 ; RUN: opt %loadPolly -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=false -polly-all…
4 ; RUN: opt %loadPolly -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true -polly-all…
5 ; RUN: opt %loadPolly -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true -polly-all…
9 ; non-affine loops __and__ accesses __and__ allow regins without a (affine) loop we will
/llvm-project-15.0.7/clang-tools-extra/docs/clang-tidy/checks/altera/
H A Dunroll-loops.rst1 .. title:: clang-tidy - altera-unroll-loops
3 altera-unroll-loops
6 Finds inner loops that have not been unrolled, as well as fully unrolled loops
9 Unrolling inner loops could improve the performance of OpenCL kernels. However,
19 - In ``for`` loops, our check only works with simple arithmetic increments (
32 for (int i = 0; i < 10; i++) { // ok: outer loops should not be unrolled
/llvm-project-15.0.7/mlir/test/Dialect/GPU/
H A Dpromotion.mlir21 // Verify that loops for the copy are emitted. We only check the number of
22 // loops here since their bounds are produced by mapLoopToProcessorIds,
28 // Verify that the copy is emitted and uses only the last two loops.
37 // Verify that loops for the copy are emitted. We only check the number of
38 // loops here since their bounds are produced by mapLoopToProcessorIds,
44 // Verify that the copy is emitted and uses only the last two loops.
75 // Verify that loops for the copy are emitted.
90 // Verify that loop loops for the copy are emitted.
/llvm-project-15.0.7/clang-tools-extra/docs/clang-tidy/checks/modernize/
H A Dloop-convert.rst6 This check converts ``for(...; ...; ...)`` loops to use the new range-based
7 loops in C++11.
9 Three kinds of loops can be converted:
21 In loops where the container expression is more complex than just a
25 Transformations for these loops are marked as `risky`, and thus will only
61 Any other loops that do not match the above criteria to be marked as
124 The converter is also capable of transforming iterator loops which use
133 When set to true convert loops when in C++20 or later mode using
181 Range-based loops evaluate end() only once
308 applied to non-OpenMP for loops the usage of ``NOLINT`` (see
[all …]
/llvm-project-15.0.7/llvm/docs/
H A DCycleTerminology.rst13 Cycles are a generalization of LLVM :ref:`loops <loop-terminology>`,
39 follows the nesting of loops in the same function. The unique entry of
66 - If the CFG is reducible, the cycles are exactly the natural loops and
72 loops." ACM Transactions on Programming Languages
80 Irreducible cycle enclosing natural loops
106 The self-loops of ``A`` and ``B`` give rise to two single-block
107 natural loops. A possible hierarchy of cycles is::
116 Irreducible union of two natural loops
146 There are two natural loops: ``{A, C}`` and ``{B, D}``. A possible
152 Irreducible cycle without natural loops
[all …]
H A DVectorizers.rst13 vectors while the Loop Vectorizer widens instructions in loops
89 Many loops cannot be vectorized including loops with complicated control flow,
92 and diagnose loops that are skipped by the loop-vectorizer.
96 ``-Rpass=loop-vectorize`` identifies loops that were successfully vectorized.
143 complex loops.
148 The Loop Vectorizer supports loops with an unknown trip count.
253 The Loop Vectorizer can vectorize loops that count backwards.
354 performing partial-unrolling of loops.
382 enhanced with a feature that allows it to vectorize epilogue loops with a
397 This benchmarks is a collection of loops from the GCC autovectorization
[all …]
/llvm-project-15.0.7/mlir/test/lib/Dialect/SCF/
H A DTestLoopUnrolling.cpp56 SmallVector<scf::ForOp, 4> loops; in runOnOperation() local
59 loops.push_back(forOp); in runOnOperation()
66 for (auto loop : loops) in runOnOperation()
/llvm-project-15.0.7/mlir/include/mlir/Dialect/Affine/
H A DPasses.td37 Option<"skipNonUnitStrideLoops", "skip-non-unit-stride-loops", "bool",
193 "Use this tile size for all loops">,
201 let summary = "Unroll affine loops";
205 "Use this unroll factor for all loops being unrolled">,
209 "Fully unroll loops">,
211 "Unroll innermost loops repeatedly this many times">,
214 "Unroll all loops with trip count less than or equal to this">,
219 let summary = "Unroll and jam affine loops";
224 "Use this unroll jam factor for all loops (default 4)">,
372 "Maximum number of nested parallel loops to produce. "
[all …]

12345678910>>...32