2 // Check that statistics in nested pipelines are not ignored and that this works with and without threading.
3 // RUN: mlir-opt %s -verify-each=true -pass-pipeline='builtin.module(builtin.module(func.func(test-stats-pass,test-stats-pass)))' -mlir-pass-statistics -mlir-pass-statistics-display=list -mlir-disable-threading 2>&1 | FileCheck -check-prefix=LIST %s
4 // RUN: mlir-opt %s -verify-each=true -pass-pipeline='builtin.module(builtin.module(func.func(test-stats-pass,test-stats-pass)))' -mlir-pass-statistics -mlir-pass-statistics-display=list 2>&1 | FileCheck -check-prefix=LIST %s
6 // RUN: mlir-opt %s -verify-each=true -pass-pipeline='builtin.module(builtin.module(func.func(test-stats-pass,test-stats-pass)))' -mlir-pass-statistics -mlir-pass-statistics-display=pipeline -mlir-disable-threading 2>&1 | FileCheck -check-prefix=PIPELINE %s
7 // RUN: mlir-opt %s -verify-each=true -pass-pipeline='builtin.module(builtin.module(func.func(test-stats-pass,test-stats-pass)))' -mlir-pass-statistics -mlir-pass-statistics-display=pipeline 2>&1 | FileCheck -check-prefix=PIPELINE %s
9 // Check for the correct statistic values.
10 // Each test-stats-pass will count two ops: the func.func and the func.return .
11 // LIST: (S) 4 num-ops
12 // LIST-NEXT: (S) 4 num-ops2
13 // PIPELINE: (S) 2 num-ops
14 // PIPELINE-NEXT: (S) 2 num-ops2
15 // PIPELINE: (S) 2 num-ops
16 // PIPELINE-NEXT: (S) 2 num-ops2