Home
last modified time | relevance | path

Searched refs:scf (Results 1 – 25 of 402) sorted by relevance

12345678910>>...17

/llvm-project-15.0.7/mlir/test/Dialect/SCF/
H A Dinvalid.mlir32 scf.yield
42 {scf.yield},
43 {scf.yield}
55 scf.yield
57 scf.yield
70 scf.yield
98 scf.yield
100 scf.yield
111 scf.yield
431 …// expected-error@+1 {{'scf.yield' op expects parent op to be one of 'scf.execute_region, scf.for,…
[all …]
H A Dcanonicalize.mlir17 scf.yield
48 scf.yield
83 scf.yield
117 scf.yield
119 scf.yield
232 scf.yield
245 scf.yield
247 scf.yield
417 scf.yield
431 scf.yield
[all …]
H A Dparallel-loop-fusion.mlir8 scf.yield
11 scf.yield
38 scf.yield
45 scf.yield
84 scf.yield
91 scf.yield
97 scf.yield
138 scf.yield
141 scf.yield
157 scf.yield
[all …]
H A Dops.mlir30 scf.if %arg0 {
40 scf.if %arg0 {
119 scf.yield
129 // CHECK-NEXT: scf.yield
164 scf.yield %sn : f32
272 scf.while : () -> () {
274 scf.condition(%true)
277 // CHECK: scf.yield
278 scf.yield
291 scf.yield %c1 : i64
[all …]
H A Done-shot-bufferize-analysis.mlir17 // CHECK: scf.for
18 // CHECK-NEXT: scf.yield
25 // CHECK: scf.for
26 // CHECK-NEXT: scf.yield
50 // CHECK: scf.for
89 // CHECK: scf.for
92 // CHECK-NEXT: scf.yield
101 // CHECK: scf.for
104 // CHECK-NEXT: scf.yield
188 // CHECK: scf.for
[all …]
H A Dcontrol-flow-sink.mlir7 // CHECK: scf.yield %[[V1]]
10 // CHECK: scf.yield %[[V1]]
16 scf.yield %0 : i32
18 scf.yield %1 : i32
29 // CHECK: scf.if %[[ARG0]]
34 scf.if %arg0 {
36 scf.yield
47 // CHECK: scf.if %[[ARG0]]
53 scf.if %arg0 {
54 scf.if %arg0 {
[all …]
H A Dbufferize.mlir1 // RUN: mlir-opt %s -scf-bufferize | FileCheck %s
18 %0 = scf.if %pred -> (tensor<?xf32>) {
19 scf.yield %true_val : tensor<?xf32>
21 scf.yield %false_val : tensor<?xf32>
32 // CHECK: scf.yield %[[ITER]] : memref<f32>
39 scf.yield %iter : tensor<f32>
50 %0 = scf.if %pred -> (tensor<f32>) {
52 scf.yield %1: tensor<f32>
55 scf.yield %1 : tensor<f32>
76 scf.yield %0 : tensor<f32>
[all …]
H A Dfor-loop-to-while-loop.mlir18 // CHECK: scf.yield %[[VAL_9]] : index
25 scf.for %i = %c0 to %arg1 step %c1 {
57 // CHECK: scf.yield %[[VAL_9]] : index
64 scf.for %i = %c0 to %arg1 step %c1 {
65 scf.for %j = %c0 to %arg1 step %c1 {
95 scf.yield %sn, %sn : f32, f32
119 // CHECK: scf.yield %[[VAL_14]] : i32
135 %2 = scf.execute_region -> i32 {
140 scf.yield %2 : i32
143 scf.yield %3 : i32
[all …]
H A Dfor-loop-canonicalization.mlir5 // CHECK: scf.for
24 // CHECK: scf.for
42 // CHECK: scf.for
63 // CHECK: scf.for
64 // CHECK: scf.for
86 // CHECK: scf.for
106 // CHECK: scf.for
126 // CHECK: scf.for
149 // CHECK: scf.for
172 // CHECK: scf.for
[all …]
H A Dtransform-ops.mlir56 // CHECK: scf.for
60 // CHECK: scf.for
65 // CHECK: scf.for
66 // CHECK-NOT: scf.for
67 // CHECK: scf.execute_region
74 // CHECK: scf.execute_region
75 // CHECK-NOT: scf.for
101 scf.while : () -> () {
103 scf.condition(%0)
107 scf.yield
[all …]
H A Done-shot-bufferize.mlir28 scf.yield %t : tensor<?xf32>
33 scf.yield %t : tensor<?xf32>
58 scf.yield %r2 : tensor<?xf32>
84 // CHECK: scf.for {{.*}}
97 // CHECK-NOT: scf.yield
201 scf.yield %A : tensor<4xf32>
203 scf.yield %B : tensor<4xf32>
354 // CHECK: scf.yield
359 scf.yield %1 : tensor<?xi1>
502 scf.condition(%0)
[all …]
H A Dparallel-loop-tiling-inbound-check.mlir36 // CHECK: scf.if [[V18]] {
70 // CHECK-NOT: scf.if
83 scf.parallel (%i, %j) = (%c0, %c0) to (%c2, %c2) step (%c1, %c1) {
106 // CHECK: scf.if
119 // CHECK: scf.if
131 scf.for %i = %c0 to %c2 step %c1 {
132 scf.for %j = %c0 to %c2 step %c1 {
141 // CHECK: scf.for
142 // CHECK: scf.for
143 // CHECK: scf.parallel
[all …]
H A Done-shot-bufferize-tensor-copy-insertion.mlir16 // CHECK: scf.yield %[[iter1]], %[[iter2]]
17 scf.yield %tA, %tB : tensor<?xf32>, tensor<?xf32>
40 // CHECK: scf.yield %[[yield1]], %[[yield2]]
41 scf.yield %tB, %tA : tensor<?xf32>, tensor<?xf32>
57 %r0, %r1 = scf.while (%w0 = %A, %w1 = %B)
68 // CHECK: scf.yield %[[b0]], %[[b1]]
70 scf.yield %b0, %b1 : tensor<5xi1>, tensor<5xi1>
88 %r0, %r1 = scf.while (%w0 = %A, %w1 = %B)
103 // CHECK: scf.yield %[[yield2]], %[[yield3]]
123 // CHECK: scf.foreach_thread
[all …]
H A Dfor-loop-peeling.mlir14 // CHECK: scf.yield %[[ADD]]
21 // CHECK: scf.yield %[[ADD2]]
31 scf.yield %0 : i32
63 scf.yield %0 : i32
102 scf.yield %0 : i32
237 // CHECK: scf.for {{.*}} {
238 // CHECK: scf.for {{.*}} {
243 // CHECK: scf.for {{.*}} {
246 // CHECK-NOT: scf.for
271 scf.yield %0 : i32
[all …]
/llvm-project-15.0.7/mlir/include/mlir/Dialect/SCF/Utils/
H A DUtils.h51 scf::ForOp replaceLoopWithNewYields(OpBuilder &builder, scf::ForOp loop,
69 SmallVector<scf::ForOp>
119 void coalesceLoops(MutableArrayRef<scf::ForOp> loops);
124 void collapseParallelLoops(scf::ParallelOp loops,
129 LogicalResult promoteIfSingleIteration(scf::ForOp forOp);
136 scf::ForOp forOp, uint64_t unrollFactor,
142 using Loops = SmallVector<scf::ForOp, 8>;
152 ArrayRef<scf::ForOp> targets);
158 Loops tile(ArrayRef<scf::ForOp> forOps, ArrayRef<Value> sizes,
159 scf::ForOp target);
[all …]
/llvm-project-15.0.7/mlir/test/Dialect/Bufferization/Transforms/
H A Dbuffer-loop-hoisting.mlir125 // CHECK-NEXT: %{{.*}} = scf.if
146 scf.yield %3 : memref<2xf32>
153 // CHECK-NEXT: {{.*}} scf.for
184 // CHECK-NEXT: {{.*}} scf.for
231 // CHECK-NEXT: {{.*}} = scf.for
232 // CHECK-NEXT: {{.*}} = scf.for
233 // CHECK-NEXT: {{.*}} = scf.for
234 // CHECK: {{.*}} = scf.if
275 // CHECK-NEXT: {{.*}} = scf.for
377 // CHECK: {{.*}} = scf.if
[all …]
/llvm-project-15.0.7/mlir/test/Transforms/
H A Dsccp-structured.mlir8 // CHECK-NOT: scf.if
14 scf.yield %1 : i32
16 scf.yield %arg0 : i32
27 // CHECK-NOT: scf.if
32 scf.yield %1 : i32
35 scf.yield %2 : i32
50 scf.yield %1 : i32
67 scf.yield %1 : i32
70 scf.yield %2 : i32
80 // CHECK-NOT: scf.for
[all …]
/llvm-project-15.0.7/mlir/test/Dialect/SparseTensor/
H A Dsparse_parallel.mlir35 // CHECK-PAR0: scf.for
36 // CHECK-PAR0: scf.for
41 // CHECK-PAR1: scf.for
46 // CHECK-PAR2: scf.for
83 // CHECK-PAR0: scf.for
84 // CHECK-PAR0: scf.for
88 // CHECK-PAR1: scf.for
89 // CHECK-PAR1: scf.for
94 // CHECK-PAR2: scf.for
98 // CHECK-PAR3: scf.for
[all …]
/llvm-project-15.0.7/mlir/lib/Dialect/SCF/TransformOps/
H A DSCFTransformOps.cpp40 scf::ForOp loop; in apply()
43 loop = current->getParentOfType<scf::ForOp>(); in apply()
73 scf::ExecuteRegionOp executeRegionOp = in wrapInExecuteRegion()
132 transform::LoopPeelOp::applyToOne(scf::ForOp target, in applyToOne()
135 scf::ForOp result; in applyToOne()
156 loopScheduling(scf::ForOp forOp, in loopScheduling()
168 if (isa<scf::YieldOp>(op)) in loopScheduling()
192 scf::PipeliningOption options; in applyToOne()
194 [this](scf::ForOp forOp, in applyToOne()
202 FailureOr<scf::ForOp> patternResult = in applyToOne()
[all …]
/llvm-project-15.0.7/mlir/test/Dialect/Vector/
H A Dvector-transferop-opt.mlir6 // CHECK: scf.for
33 // CHECK: scf.if
64 // CHECK: scf.if
94 // CHECK: scf.if
98 // CHECK: scf.if
120 scf.if %arg0 {
134 // CHECK: scf.if
161 // CHECK: scf.if
163 // CHECK: scf.if
174 scf.if %arg0 {
[all …]
/llvm-project-15.0.7/mlir/test/Conversion/SCFToControlFlow/
H A Dconvert-to-cfg.mlir59 scf.if %arg0 {
76 scf.if %arg0 {
100 scf.if %arg0 {
102 scf.if %arg0 {
139 scf.if %arg3 {
141 scf.if %arg3 {
185 scf.yield %1 : i1
411 scf.yield
430 scf.yield
574 scf.if %arg4 {
[all …]
/llvm-project-15.0.7/mlir/test/python/dialects/
H A Dscf.py6 from mlir.dialects import scf
27 loop = scf.ForOp(lb, ub, step, [lb, lb])
29 scf.YieldOp(loop.inner_iter_args)
46 loop = scf.ForOp(lb, ub, step, [lb])
48 scf.YieldOp([loop.induction_variable])
68 loop = scf.ForOp(lb, ub, step, iter_args)
70 scf.YieldOp(loop.inner_iter_args)
94 if_op = scf.IfOp(cond)
98 scf.YieldOp([])
120 scf.YieldOp([x_true, y_true])
[all …]
/llvm-project-15.0.7/mlir/test/Analysis/DataFlow/
H A Dtest-dead-code-analysis.mlir26 // CHECK: scf.if
29 // CHECK: scf.if
33 scf.if %cond {
34 scf.yield {then}
36 scf.yield {else}
42 // scf.while
43 // scf.yield
46 // scf.condition
221 scf.if %true {
223 scf.yield
[all …]
/llvm-project-15.0.7/mlir/include/mlir/Dialect/SCF/IR/
H A DSCFOps.td24 let name = "scf";
80 scf.yield %x : i32
98 scf.yield %x : i64
190 Another example with a nested "scf.if" (see "scf.if" for details) to
523 scf.if %b {
547 `scf.if` regions are always terminated with "scf.yield". If "scf.if"
556 scf.if %b {
634 scf.reduce operation (see scf.reduce for details). Each result of a
699 "scf.reduce" is an operation occurring inside "scf.parallel" operations.
817 scf.yield %next : f32
[all …]
/llvm-project-15.0.7/mlir/test/Interfaces/InferIntRangeInterface/
H A Dinfer-int-range-test-ops.mlir26 %1 = scf.if %arg0 -> index {
27 scf.yield %0 : index
30 scf.yield %2 : index
63 scf.yield %arg0 : index
81 scf.yield %1 : index
110 %1 = scf.while : () -> index {
116 scf.yield
129 %1 = scf.while : () -> index {
134 scf.yield
147 %1 = scf.while : () -> index {
[all …]

12345678910>>...17