41 lines · plain
1// RUN: mlir-opt %s | mlir-opt | FileCheck %s2 3transform.sequence failures(propagate) {4^bb0(%arg0: !transform.any_op):5 transform.match.structured %arg0 : !transform.any_op {6 ^bb1(%arg1: !transform.any_op):7 // Checking the syntax of positional specifications.8 // CHECK: dim %{{.*}}[all]9 transform.match.structured.dim %arg1[all] : !transform.any_op10 // CHECK: dim %{{.*}}[0]11 transform.match.structured.dim %arg1[0] : !transform.any_op12 // CHECK: dim %{{.*}}[0, 1, -2]13 transform.match.structured.dim %arg1[0, 1, -2] : !transform.any_op14 // CHECK: dim %{{.*}}[except(0)]15 transform.match.structured.dim %arg1[except(0)] : !transform.any_op16 // CHECK: dim %{{.*}}[except(0, -1, 2)]17 transform.match.structured.dim %arg1[except(0, -1, 2)] : !transform.any_op18 19 transform.match.structured.yield20 }21 22 // Checking the syntax of trailing types.23 // CHECK: structured %{{.*}} : !transform.any_op24 transform.match.structured %arg0 : !transform.any_op {25 ^bb1(%arg1: !transform.any_op):26 transform.match.structured.yield27 }28 // CHECK: structured %{{.*}} : (!transform.any_op) -> !transform.any_op29 transform.match.structured %arg0 : (!transform.any_op) -> !transform.any_op {30 ^bb1(%arg1: !transform.any_op):31 transform.match.structured.yield %arg1 : !transform.any_op32 }33 // CHECK: structured %{{.*}} : (!transform.any_op) -> (!transform.any_op, !transform.any_op)34 transform.match.structured %arg0 : (!transform.any_op) -> (!transform.any_op, !transform.any_op) {35 ^bb1(%arg1: !transform.any_op):36 transform.match.structured.yield %arg1, %arg1 : !transform.any_op, !transform.any_op37 }38 39 transform.yield40}41