1// RUN: mlir-opt %s --pass-pipeline="builtin.module(\ 2// RUN: transform-preload-library{transform-library-paths=%p%{fs-sep}include%{fs-sep}test-interpreter-external-concurrent-source.mlir},\ 3// RUN: func.func(transform-interpreter))" \ 4// RUN: --verify-diagnostics 5 6// Exercising the pass on multiple functions of different lengths that may be 7// processed concurrently. This should expose potential races. 8 9func.func @f1() { 10 // expected-remark @below {{matched}} 11 return 12} 13 14func.func @f2() { 15 // expected-remark @below {{matched}} 16 return 17} 18 19func.func @f3() { 20 call @f2() : () -> () 21 call @f2() : () -> () 22 call @f5() : () -> () 23 call @f7() : () -> () 24 call @f5() : () -> () 25 call @f5() : () -> () 26 // expected-remark @below {{matched}} 27 return 28} 29 30func.func @f4() { 31 call @f3() : () -> () 32 call @f3() : () -> () 33 // expected-remark @below {{matched}} 34 return 35} 36 37func.func @f5() { 38 call @f7() : () -> () 39 call @f7() : () -> () 40 call @f7() : () -> () 41 call @f7() : () -> () 42 call @f1() : () -> () 43 call @f1() : () -> () 44 call @f7() : () -> () 45 call @f7() : () -> () 46 call @f7() : () -> () 47 call @f7() : () -> () 48 // expected-remark @below {{matched}} 49 return 50} 51 52func.func @f6() { 53 // expected-remark @below {{matched}} 54 return 55} 56 57func.func @f7() { 58 // expected-remark @below {{matched}} 59 return 60} 61