[MemProf] Templatize CallStackRadixTreeBuilder (NFC) (#117014)
[llvm-project.git] / mlir / test / Pass / dynamic-pipeline.mlir
blob5e31ba476aeb05ca1c8a237511f3324dce38fb31
1 // RUN: mlir-opt %s -pass-pipeline='builtin.module(builtin.module(test-dynamic-pipeline{op-name=inner_mod1, dynamic-pipeline=func.func(cse,canonicalize)}))'  --mlir-disable-threading  -mlir-print-ir-before-all 2>&1 | FileCheck %s --check-prefix=MOD1 --check-prefix=MOD1-ONLY --check-prefix=CHECK
2 // RUN: mlir-opt %s -pass-pipeline='builtin.module(builtin.module(test-dynamic-pipeline{op-name=inner_mod2, dynamic-pipeline=func.func(cse,canonicalize)}))'  --mlir-disable-threading  -mlir-print-ir-before-all 2>&1 | FileCheck %s --check-prefix=MOD2 --check-prefix=MOD2-ONLY --check-prefix=CHECK
3 // RUN: mlir-opt %s -pass-pipeline='builtin.module(builtin.module(test-dynamic-pipeline{op-name=inner_mod1,inner_mod2, dynamic-pipeline=func.func(cse,canonicalize)}))'  --mlir-disable-threading  -mlir-print-ir-before-all 2>&1 | FileCheck %s --check-prefix=MOD1 --check-prefix=MOD2 --check-prefix=CHECK
4 // RUN: mlir-opt %s -pass-pipeline='builtin.module(builtin.module(test-dynamic-pipeline{dynamic-pipeline=func.func(cse,canonicalize)}))'  --mlir-disable-threading  -mlir-print-ir-before-all 2>&1 | FileCheck %s --check-prefix=MOD1 --check-prefix=MOD2 --check-prefix=CHECK
7 func.func @f() {
8   return
11 // CHECK: IR Dump Before
12 // CHECK-SAME: TestDynamicPipelinePass
13 // CHECK-NEXT: module @inner_mod1
14 // MOD2-ONLY: dynamic-pipeline skip op name: inner_mod1
15 module @inner_mod1 {
16 // MOD1: Dump Before CSE
17 // MOD1-NEXT: @foo
18 // MOD1: Dump Before Canonicalizer
19 // MOD1-NEXT: @foo
20   func.func @foo() {
21     return
22   }
23 // MOD1: Dump Before CSE
24 // MOD1-NEXT: @baz
25 // MOD1: Dump Before Canonicalizer
26 // MOD1-NEXT: @baz
27   func.func @baz() {
28     return
29   }
32 // CHECK: IR Dump Before
33 // CHECK-SAME: TestDynamicPipelinePass
34 // CHECK-NEXT: module @inner_mod2
35 // MOD1-ONLY: dynamic-pipeline skip op name: inner_mod2
36 module @inner_mod2 {
37 // MOD2: Dump Before CSE
38 // MOD2-NEXT: @foo
39 // MOD2: Dump Before Canonicalizer
40 // MOD2-NEXT: @foo
41   func.func @foo() {
42     return
43   }