| // RUN: mlir-opt %s --pass-pipeline="builtin.module(\ |
| // RUN: transform-preload-library{transform-library-paths=%p%{fs-sep}include%{fs-sep}test-interpreter-external-concurrent-source.mlir},\ |
| // RUN: func.func(transform-interpreter))" \ |
| // RUN: --verify-diagnostics |
| |
| // Exercising the pass on multiple functions of different lengths that may be |
| // processed concurrently. This should expose potential races. |
| |
| func.func @f1() { |
| // expected-remark @below {{matched}} |
| return |
| } |
| |
| func.func @f2() { |
| // expected-remark @below {{matched}} |
| return |
| } |
| |
| func.func @f3() { |
| call @f2() : () -> () |
| call @f2() : () -> () |
| call @f5() : () -> () |
| call @f7() : () -> () |
| call @f5() : () -> () |
| call @f5() : () -> () |
| // expected-remark @below {{matched}} |
| return |
| } |
| |
| func.func @f4() { |
| call @f3() : () -> () |
| call @f3() : () -> () |
| // expected-remark @below {{matched}} |
| return |
| } |
| |
| func.func @f5() { |
| call @f7() : () -> () |
| call @f7() : () -> () |
| call @f7() : () -> () |
| call @f7() : () -> () |
| call @f1() : () -> () |
| call @f1() : () -> () |
| call @f7() : () -> () |
| call @f7() : () -> () |
| call @f7() : () -> () |
| call @f7() : () -> () |
| // expected-remark @below {{matched}} |
| return |
| } |
| |
| func.func @f6() { |
| // expected-remark @below {{matched}} |
| return |
| } |
| |
| func.func @f7() { |
| // expected-remark @below {{matched}} |
| return |
| } |