/llvm-project/mlir/test/Dialect/Transform/ |
H A D | test-interpreter.mlir | 1 // RUN: mlir-opt %s --transform-interpreter -allow-unregistered-dialect --split-input-file --verify-diagnostics | FileCheck %s 5 module attributes {transform.with_named_sequence} { 6 transform.named_sequence @__transform_main(%arg0: !transform.any_op) { 8 transform.test_transform_op 9 transform.yield 15 module attributes {transform.with_named_sequence} { 16 transform.named_sequence @__transform_main(%arg0: !transform.any_op) { 17 %0 = transform [all...] |
H A D | ops.mlir | 3 // CHECK: transform.sequence 4 // CHECK: ^{{.+}}(%{{.+}}: !transform.any_op): 5 transform.sequence failures(propagate) { 6 ^bb0(%arg0: !transform.any_op): 7 // CHECK: sequence %{{.+}} : !transform.any_op 8 // CHECK: ^{{.+}}(%{{.+}}: !transform.any_op): 9 sequence %arg0 : !transform.any_op failures(propagate) { 10 ^bb1(%arg1: !transform.any_op): 14 // CHECK: transform.with_pdl_patterns 15 // CHECK: ^{{.+}}(%[[ARG:.+]]: !transform.any_op): [all …]
|
H A D | foreach-match.mlir | 1 // RUN: mlir-opt %s --transform-interpreter --split-input-file --verify-diagnostics 4 module attributes { transform.with_named_sequence } { 15 transform.named_sequence @peel(%arg0: !transform.op<"scf.for"> {transform.consumed}) { 16 transform.loop.peel %arg0 : (!transform.op<"scf.for">) -> (!transform.any_op, !transform.any_op) 17 transform.yield 19 …transform.named_sequence @match_for(%arg0: !transform.any_op {transform.readonly}) -> !transform.a… 20 transform.match.operation_name %arg0 ["scf.for"] : !transform.any_op 21 transform.yield %arg0 : !transform.any_op 23 transform.named_sequence @__transform_main(%root: !transform.any_op) { 24 transform.sequence %root : !transform.any_op failures(suppress) { [all …]
|
H A D | ops-invalid.mlir | 4 transform.sequence failures(propagate) { 10 transform.sequence failures(propagate) { 17 transform.sequence failures(propagate) { 18 ^bb0(%arg0: !transform.any_op): 20 transform.sequence failures(propagate) { 21 ^bb1(%arg1: !transform.any_op): 28 "transform.sequence"() <{failure_propagation_mode = 1 : i32, operandSegmentSizes = array<i32: 0, 0>… 29 ^bb0(%arg0: !transform.any_op): 30 transform.apply_patterns to %arg0 { 31 } : !transform.any_op [all …]
|
H A D | test-pattern-application.mlir | 1 // RUN: mlir-opt %s --transform-interpreter -allow-unregistered-dialect --split-input-file --verify… 14 module attributes {transform.with_named_sequence} { 15 transform.named_sequence @__transform_main(%arg1: !transform.any_op) { 16 …%0 = transform.structured.match ops{["test.container"]} in %arg1 : (!transform.any_op) -> !transfo… 17 …%1 = transform.structured.match ops{["test.foo"]} in %arg1 : (!transform.any_op) -> !transform.any… 18 transform.apply_patterns to %0 { 19 transform.apply_patterns.transform.test_patterns 20 } : !transform.any_op 22 transform.annotate %1 "annotated" : !transform.any_op 23 transform.yield [all …]
|
H A D | expensive-checks.mlir | 1 // RUN: mlir-opt --transform-interpreter --split-input-file --verify-diagnostics %s 9 module attributes {transform.with_named_sequence} { 10 transform.named_sequence @__transform_main(%root: !transform.any_op) { 11 transform.with_pdl_patterns %root : !transform.any_op { 12 ^bb0(%arg0: !transform.any_op): 17 rewrite %2 with "transform.dialect" 20 sequence %arg0 : !transform.any_op failures(propagate) { 21 ^bb1(%arg1: !transform.any_op): 23 %0 = pdl_match @return in %arg1 : (!transform.any_op) -> !transform.any_op 24 %1 = get_parent_op %0 {isolated_from_above} : (!transform.any_op) -> !transform.any_op [all …]
|
H A D | transform-state-extension.mlir | 1 // RUN: mlir-opt %s -transform-interpreter -verify-diagnostics -split-input-file 4 module attributes {transform.with_named_sequence} { 5 transform.named_sequence @__transform_main(%arg0: !transform.any_op) { 7 transform.test_check_if_test_extension_present %arg0 : !transform.any_op 8 transform.test_add_test_extension "A" 10 transform.test_check_if_test_extension_present %arg0 : !transform.any_op 11 transform.test_remove_test_extension 13 transform.test_check_if_test_extension_present %arg0 : !transform.any_op 14 transform.yield 21 module attributes {transform.with_named_sequence} { [all …]
|
H A D | check-use-after-free.mlir | 1 // RUN: mlir-opt %s --transform-dialect-check-uses --split-input-file --verify-diagnostics 5 %0 = transform.test_produce_self_handle_or_forward_operand : () -> !transform.any_op 6 transform.test_transform_op_with_regions { 7 "transform.test_branching_transform_op_terminator"() : () -> () 11 "transform.test_branching_transform_op_terminator"()[^bb1, ^bb2] : () -> () 14 transform.test_consume_operand_of_op_kind_or_fail %0, "transform.test_produce_self_handle_or_forward_operand" : !transform.any_op 15 "transform [all...] |
/llvm-project/mlir/test/Integration/Dialect/Transform/ |
H A D | match_matmul_common.mlir | 3 module attributes { transform.with_named_sequence } { 4 transform.named_sequence @_match_matmul_like( 5 %entry: !transform.any_op {transform.readonly}, 6 %rank: !transform.param<i64> {transform.readonly}) 7 -> (!transform.any_op, !transform.any_op, !transform.param<i64>, 8 !transform.type, !transform.type, !transform.type, 9 … !transform.param<i64>, !transform.param<i64>, !transform.param<i64>, !transform.param<i64>) { 10 %c1 = transform.param.constant 1 : i64 -> !transform.param<i64> 11 %c2 = transform.param.constant 2 : i64 -> !transform.param<i64> 12 %capture:9 = transform.match.structured %entry : (!transform.any_op) [all …]
|
H A D | match_batch_matmul.mlir | 1 // RUN: mlir-opt %s --transform-preload-library='transform-library-paths=%p/match_matmul_common.mli… 3 module attributes { transform.with_named_sequence } { 4 transform.named_sequence @_match_matmul_like( 5 %entry: !transform.any_op {transform.readonly}, 6 %rank: !transform.param<i64> {transform.readonly}) 7 -> (!transform.any_op, !transform.any_op, !transform.param<i64>, 8 !transform.type, !transform.type, !transform.type, 9 … !transform.param<i64>, !transform.param<i64>, !transform.param<i64>, !transform.param<i64>) 11 transform.named_sequence @match_bmm(%entry: !transform.any_op {transform.readonly}) 12 -> (!transform.any_op, !transform.any_op, !transform.param<i64>, [all …]
|
H A D | match_reduction.mlir | 1 // RUN: mlir-opt %s --transform-interpreter --verify-diagnostics 3 module attributes { transform.with_named_sequence } { 4 transform.named_sequence @_reduce_leading_trailing(%entry: !transform.any_op {transform.readonly}) 5 -> (!transform.any_op) { 6 %c1 = transform.param.constant 1 : i64 -> !transform.param<i64> 8 transform.match.structured %entry : !transform.any_op { 9 ^bb0(%struct: !transform.any_op): 10 transform.match.structured.dim %struct[all] {parallel} : !transform.any_op 11 transform.match.structured.input %struct[all] {projected_permutation} : !transform.any_op 12 transform.match.structured.init %struct[all] {permutation} : !transform.any_op [all …]
|
H A D | match_matmul.mlir | 1 // RUN: mlir-opt %s --transform-preload-library='transform-library-paths=%p/match_matmul_common.mli… 3 module attributes { transform.with_named_sequence } { 4 transform.named_sequence @_match_matmul_like( 5 %entry: !transform.any_op {transform.readonly}, 6 %rank: !transform.param<i64> {transform.readonly}) 7 -> (!transform.any_op, !transform.any_op, !transform.param<i64>, 8 !transform.type, !transform.type, !transform.type, 9 … !transform.param<i64>, !transform.param<i64>, !transform.param<i64>, !transform.param<i64>) 11 transform.named_sequence @match_matmul(%entry: !transform.any_op {transform.readonly}) 12 -> (!transform.any_op, !transform.any_op, !transform.param<i64>, [all …]
|
/llvm-project/mlir/test/Dialect/Linalg/ |
H A D | match-ops-interpreter.mlir | 1 // RUN: mlir-opt %s --pass-pipeline="builtin.module(transform-interpreter{debug-payload-root-tag=start_here})" --split-input-file --verify-diagnostics 3 module attributes { transform.with_named_sequence } { 4 transform.named_sequence @print_structured(%arg0: !transform.any_op {transform.readonly}) { 5 transform.debug.emit_remark_at %arg0, "structured" : !transform.any_op 6 transform.yield 9 transform.named_sequence @match_structured_empty(%arg0: !transform [all...] |
H A D | match-ops-invalid.mlir | 3 transform.sequence failures(suppress) { 4 ^bb0(%arg0: !transform.any_op): 6 transform.match.structured %arg0 : !transform.any_op { 8 transform.match.structured.yield 10 transform.yield 15 transform.sequence failures(suppress) { 16 ^bb0(%arg0: !transform.any_op): 18 transform.match.structured %arg0 : !transform.any_op { 20 transform.match.structured.yield 22 transform.yield [all …]
|
H A D | transform-ops.mlir | 3 transform.sequence failures(propagate) { 4 ^bb1(%arg0: !transform.any_op): 5 // CHECK: %{{.*}}, %{{.*}}:2 = transform.structured.tile 6 %0, %1:2 = transform.structured.tile_using_for %arg0 tile_sizes [2, 0, 3] : (!transform.any_op) -> (!transform.any_op, !transform.any_op, !transform.any_op) 11 transform.sequence failures(propagate) { 12 ^bb1(%arg0: !transform [all...] |
H A D | matmul-shared-memory-padding.mlir | 1 // RUN: mlir-opt --split-input-file --transform-interpreter %s | FileCheck %s 42 module attributes {transform.with_named_sequence} { 43 transform.named_sequence @__transform_main(%arg1: !transform.any_op {transform.consumed}) { 45 %matmul_op = transform.structured.match ops{["linalg.matmul"]} in %arg1 46 : (!transform.any_op) -> !transform.any_op 47 %fill_op = transform.structured.match ops{["linalg.fill"]} in %arg1 48 : (!transform [all...] |
H A D | transform-op-hoist-pad-build-packing-loop-nest.mlir | 3 // RUN: mlir-opt --transform-interpreter -split-input-file --verify-diagnostics %s | FileCheck %s --check-prefix=BUILD-PACKING-LOOP-NEST 13 module attributes {transform.with_named_sequence} { 14 transform.named_sequence @__transform_main(%arg1: !transform.any_op {transform.readonly}) { 15 %matmul = transform.structured.match ops{["linalg.matmul"]} in %arg1 16 : (!transform.any_op) -> !transform.any_op 18 %matmul_l1, %loops_l1 = transform.structured.tile_using_for %matmul tile_sizes [5] : (!transform [all...] |
H A D | transform-op-hoist-pad.mlir | 1 // RUN: mlir-opt --transform-interpreter -canonicalize -split-input-file --verify-diagnostics %s | FileCheck %s 12 module attributes {transform.with_named_sequence} { 13 transform.named_sequence @__transform_main(%arg1: !transform.any_op {transform.readonly}) { 14 %matmul = transform.structured.match ops{["linalg.matmul"]} in %arg1 15 : (!transform.any_op) -> !transform.any_op 18 %matmul_l1, %loops_l1 = transform.structured.tile_using_for %matmul tile_sizes [5] : (!transform [all...] |
H A D | transform-op-match.mlir | 1 // RUN: mlir-opt %s --transform-interpreter -allow-unregistered-dialect --split-input-file --verify… 12 module attributes {transform.with_named_sequence} { 13 transform.named_sequence @__transform_main(%arg1: !transform.any_op {transform.readonly}) { 14 …%match_name = transform.structured.match ops{["arith.constant"]} in %arg1 : (!transform.any_op) ->… 15 transform.debug.emit_remark_at %match_name, "matched op name" : !transform.any_op 16 transform.test_consume_operand %match_name : !transform.any_op 18 …%match_attr = transform.structured.match ops{["arith.constant"]} attributes{my_attr} in %arg1 : (!… 19 transform.debug.emit_remark_at %match_attr, "matched attr name" : !transform.any_op 20 transform.test_consume_operand %match_attr : !transform.any_op 21 transform.yield [all …]
|
H A D | transform-ops-invalid.mlir | 3 transform.sequence failures(propagate) { 4 ^bb0(%arg0: !transform.any_op): 5 // expected-error@below {{'transform.structured.interchange' op expects iterator_interchange to be a permutation, found 1, 1}} 6 transform.structured.interchange %arg0 iterator_interchange = [1, 1] : (!transform.any_op) -> !transform.any_op 11 transform.sequence failures(propagate) { 12 ^bb0(%arg0: !transform.any_op): 14 transform.structured.pad %arg0 {padding_dimensions=[1, -7]} : (!transform [all...] |
H A D | transform-op-gpu-map-copy-to-threads.mlir | 1 // RUN: mlir-opt -transform-interpreter -split-input-file -verify-diagnostics -allow-unregistered-d… 17 module attributes {transform.with_named_sequence} { 18 transform.named_sequence @__transform_main(%arg1: !transform.any_op {transform.readonly}) { 19 %0 = transform.structured.match ops{["linalg.copy"]} in %arg1 20 : (!transform.any_op) -> !transform.any_op 21 transform.structured.gpu.map_copy_to_threads %0 23 : (!transform.any_op) -> (!transform.op<"scf.forall">, !transform.op<"linalg.copy">) 24 transform.yield 49 module attributes {transform.with_named_sequence} { 50 transform.named_sequence @__transform_main(%arg1: !transform.any_op {transform.readonly}) { [all …]
|
/llvm-project/mlir/test/Dialect/Transform/include/test-interpreter-library/ |
H A D | definitions-self-contained.mlir | 4 module attributes {transform.with_named_sequence} { 5 transform.named_sequence private @private_helper(%arg0: !transform.any_op {transform.readonly}) { 6 transform.debug.emit_remark_at %arg0, "message" : !transform.any_op 7 transform.yield 11 transform.named_sequence private @colliding(%arg0: !transform.any_op {transform.readonly}) { 12 transform.debug.emit_remark_at %arg0, "external colliding (without suffix)" : !transform.any_op 13 transform.yield 15 transform.named_sequence private @colliding_0(%arg0: !transform.any_op {transform.readonly}) { 16 transform.debug.emit_remark_at %arg0, "external colliding_0" : !transform.any_op 17 transform.yield [all …]
|
/llvm-project/mlir/test/Dialect/Func/ |
H A D | func-transform.mlir | 1 // RUN: mlir-opt %s --transform-interpreter -allow-unregistered-dialect --split-input-file | FileCh… 19 module attributes {transform.with_named_sequence} { 20 transform.named_sequence @__transform_main(%arg0: !transform.any_op) { 21 …%funcs = transform.structured.match ops{["func.func"]} in %arg0 : (!transform.any_op) -> !transfor… 22 …%f:3 = transform.split_handle %funcs : (!transform.any_op) -> (!transform.any_op, !transform.any_o… 23 …%foo = transform.structured.match ops{["test.foo"]} in %f#0 : (!transform.any_op) -> !transform.an… 24 transform.func.cast_and_call @second before %foo : (!transform.any_op) -> !transform.any_op 25 …transform.func.cast_and_call %f#2 after %foo : (!transform.any_op, !transform.any_op) -> !transfor… 26 transform.yield 44 module attributes {transform.with_named_sequence} { [all …]
|
/llvm-project/mlir/test/Dialect/SCF/ |
H A D | transform-ops-invalid.mlir | 1 // RUN: mlir-opt %s -transform-interpreter --split-input-file --verify-diagnostics 13 module attributes {transform.with_named_sequence} { 14 transform.named_sequence @__transform_main(%arg1: !transform.any_op {transform.readonly}) { 15 …%0 = transform.structured.match ops{["affine.for"]} attributes {coalesce} in %arg1 : (!transform.a… 16 %1 = transform.cast %0 : !transform.any_op to !transform.op<"affine.for"> 18 %2 = transform.loop.coalesce %1: (!transform.op<"affine.for">) -> (!transform.op<"affine.for">) 19 transform.yield 32 module attributes {transform.with_named_sequence} { 33 transform.named_sequence @__transform_main(%arg1: !transform.any_op {transform.readonly}) { 34 …%0 = transform.structured.match ops{["arith.addi"]} in %arg1 : (!transform.any_op) -> !transform.a… [all …]
|
/llvm-project/mlir/test/python/dialects/ |
H A D | transform.py | 4 from mlir.dialects import transform 5 from mlir.dialects.transform import pdl as transform_pdl 22 any_op = transform.AnyOpType.get() 26 any_param = transform.AnyParamType.get() 30 any_value = transform.AnyValueType.get() 35 concrete_op = transform.OperationType.get("foo.bar") 41 param = transform.ParamType.get(IntegerType.get_signless(32)) 48 sequence = transform.SequenceOp( 49 transform.FailurePropagationMode.Propagate, 50 [transform.AnyOpType.get()], [all …]
|