57 lines · plain
1// RUN: mlir-opt %s --transform-interpreter --allow-unregistered-dialect --verify-diagnostics | FileCheck %s2 3// RUN: mlir-opt %s --transform-interpreter --allow-unregistered-dialect --verify-diagnostics \4// RUN: --mlir-print-debuginfo | FileCheck %s --check-prefix=CHECK-LOC5 6func.func @nested_ops() {7 "test.qux"() ({8 // expected-error @below{{fail_to_verify is set}}9 "test.baz"() ({10 "test.bar"() : () -> ()11 }) : () -> ()12 }) : () -> ()13}14 15module attributes {transform.with_named_sequence} {16 transform.named_sequence @__transform_main(%arg0: !transform.any_op) {17 // CHECK-LABEL{LITERAL}: [[[ IR printer: START top-level ]]]18 // CHECK-NEXT: module {19 // CHECK-LOC-LABEL{LITERAL}: [[[ IR printer: START top-level ]]]20 // CHECK-LOC-NEXT: #{{.+}} = loc(21 // CHECK-LOC-NEXT: module {22 transform.print {name = "START"}23 24 // CHECK{LITERAL}: [[[ IR printer: Local scope top-level ]]]25 // CHECK-NEXT: module {26 // CHECK-LOC{LITERAL}: [[[ IR printer: Local scope top-level ]]]27 // CHECK-LOC-NEXT: module {28 transform.print {name = "Local scope", use_local_scope}29 30 %baz = transform.structured.match ops{["test.baz"]} in %arg0 : (!transform.any_op) -> !transform.any_op31 32 // CHECK{LITERAL}: [[[ IR printer: ]]]33 // CHECK-NEXT: "test.baz"() ({34 // CHECK-NEXT: "test.bar"() : () -> ()35 // CHECK-NEXT: }) : () -> ()36 transform.print %baz : !transform.any_op37 38 // CHECK{LITERAL}: [[[ IR printer: Baz ]]]39 // CHECK-NEXT: "test.baz"() ({40 transform.print %baz {name = "Baz"} : !transform.any_op41 42 // CHECK{LITERAL}: [[[ IR printer: No region ]]]43 // CHECK-NEXT: "test.baz"() ({...}) : () -> ()44 transform.print %baz {name = "No region", skip_regions} : !transform.any_op45 46 // CHECK{LITERAL}: [[[ IR printer: No verify ]]]47 // CHECK-NEXT: "test.baz"() ({48 // CHECK-NEXT: transform.test_dummy_payload_op {fail_to_verify} : () -> ()49 transform.test_produce_invalid_ir %baz : !transform.any_op50 transform.print %baz {name = "No verify", assume_verified} : !transform.any_op51 52 // CHECK-LABEL{LITERAL}: [[[ IR printer: END top-level ]]]53 transform.print {name = "END"}54 transform.yield55 }56}57