xref: /llvm-project/mlir/test/Dialect/Transform/test-interpreter-external-concurrent.mlir (revision 5468f8841353cd56350a6ebe6898d2563e5c34b0)
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