58 lines · plain
1// RUN: mlir-opt %s --transform-interpreter -allow-unregistered-dialect --split-input-file --verify-diagnostics2 3module attributes {transform.with_named_sequence} {4 transform.named_sequence @__transform_main(%root: !transform.any_op) {5 transform.with_pdl_patterns %root : !transform.any_op {6 ^bb0(%arg0: !transform.any_op):7 sequence %arg0 : !transform.any_op failures(propagate) {8 ^bb0(%arg1: !transform.any_op):9 %0 = pdl_match @some in %arg1 : (!transform.any_op) -> !transform.any_op10 transform.debug.emit_remark_at %0, "matched" : !transform.any_op11 }12 13 pdl.pattern @some : benefit(1) {14 %0 = pdl.operation "test.some_op"15 pdl.rewrite %0 with "transform.dialect"16 }17 18 pdl.pattern @other : benefit(1) {19 %0 = pdl.operation "test.other_op"20 pdl.rewrite %0 with "transform.dialect"21 }22 }23 transform.yield24 }25}26 27// expected-remark @below {{matched}}28"test.some_op"() : () -> ()29"test.other_op"() : () -> ()30// expected-remark @below {{matched}}31"test.some_op"() : () -> ()32 33 34// -----35 36module attributes {transform.with_named_sequence} {37 transform.named_sequence @__transform_main(%root: !transform.any_op) {38 transform.with_pdl_patterns %root : !transform.any_op {39 ^bb0(%arg0: !transform.any_op):40 sequence %arg0 : !transform.any_op failures(propagate) {41 ^bb1(%arg1: !transform.any_op):42 %0 = pdl_match @some in %arg1 : (!transform.any_op) -> !transform.any_op43 }44 45 pdl.pattern @some : benefit(1) {46 %0 = pdl.operation "test.some_op"47 pdl.apply_native_constraint "verbose_constraint"(%0 : !pdl.operation)48 pdl.rewrite %0 with "transform.dialect"49 }50 }51 transform.yield52 }53}54 55// expected-warning @below {{from PDL constraint}}56"test.some_op"() : () -> ()57"test.other_op"() : () -> ()58