// RUN: mlir-opt %s --pass-pipeline="builtin.module(test-transform-dialect-interpreter{transform-library-paths=%p%{fs-sep}include%{fs-sep}test-interpreter-library})" \ // RUN: --verify-diagnostics --split-input-file | FileCheck %s // RUN: mlir-opt %s --pass-pipeline="builtin.module(test-transform-dialect-interpreter{transform-library-paths=%p%{fs-sep}include%{fs-sep}test-interpreter-library/definitions-self-contained.mlir,%p%{fs-sep}include%{fs-sep}test-interpreter-library/definitions-with-unresolved.mlir})" \ // RUN: --verify-diagnostics --split-input-file | FileCheck %s // RUN: mlir-opt %s --pass-pipeline="builtin.module(test-transform-dialect-interpreter{transform-library-paths=%p%{fs-sep}include%{fs-sep}test-interpreter-library}, test-transform-dialect-interpreter)" \ // RUN: --verify-diagnostics --split-input-file | FileCheck %s // The definition of the @foo named sequence is provided in another file. It // will be included because of the pass option. Repeated application of the // same pass, with or without the library option, should not be a problem. // Note that the same diagnostic produced twice at the same location only // needs to be matched once. // expected-remark @below {{message}} module attributes {transform.with_named_sequence} { // CHECK: transform.named_sequence @print_message transform.named_sequence @print_message(%arg0: !transform.any_op {transform.readonly}) transform.named_sequence @reference_other_module(!transform.any_op {transform.readonly}) transform.sequence failures(propagate) { ^bb0(%arg0: !transform.any_op): include @print_message failures(propagate) (%arg0) : (!transform.any_op) -> () include @reference_other_module failures(propagate) (%arg0) : (!transform.any_op) -> () } }