xref: /llvm-project/mlir/test/Pass/ir-printing-file-tree.mlir (revision 9ad5da2defd4f88c6649bf2b77f1968f661f2dcc)
1// Test filtering by "before"
2// RUN: rm -rf %t || true
3// RUN: mlir-opt %s -mlir-print-ir-tree-dir=%t \
4// RUN:   -pass-pipeline='builtin.module(builtin.module(func.func(cse,canonicalize)))' \
5// RUN:   -mlir-print-ir-before=cse
6// RUN: test -f %t/builtin_module_outer/builtin_module_inner/func_func_symB/0_0_0_cse.mlir
7// RUN: test ! -f %t/builtin_module_outer/builtin_module_inner/func_func_symB/0_0_1_canonicalize.mlir
8// RUN: test -f %t/builtin_module_outer/builtin_module_inner/func_func_symC/0_0_0_cse.mlir
9// RUN: test ! -f %t/builtin_module_outer/builtin_module_inner/func_func_symC/0_0_1_canonicalize.mlir
10
11// Test printing after all and the counter mechanism.
12// RUN: rm -rf %t || true
13// RUN: mlir-opt %s -mlir-print-ir-tree-dir=%t \
14// RUN:   -pass-pipeline='builtin.module(canonicalize,canonicalize,func.func(cse),builtin.module(canonicalize,func.func(cse,canonicalize),cse),cse)' \
15// RUN:   -mlir-print-ir-after-all
16// RUN: test -f %t/builtin_module_outer/0_canonicalize.mlir
17// RUN: test -f %t/builtin_module_outer/1_canonicalize.mlir
18// RUN: test -f %t/builtin_module_outer/func_func_symA/1_0_cse.mlir
19// RUN: test -f %t/builtin_module_outer/builtin_module_inner/1_0_canonicalize.mlir
20// RUN: test -f %t/builtin_module_outer/builtin_module_inner/func_func_symB/1_0_0_cse.mlir
21// RUN: test -f %t/builtin_module_outer/builtin_module_inner/func_func_symB/1_0_1_canonicalize.mlir
22// RUN: test -f %t/builtin_module_outer/builtin_module_inner/func_func_symC/1_0_0_cse.mlir
23// RUN: test -f %t/builtin_module_outer/builtin_module_inner/func_func_symC/1_0_1_canonicalize.mlir
24// RUN: test -f %t/builtin_module_outer/builtin_module_inner/1_1_cse.mlir
25// RUN: test -f %t/builtin_module_outer/2_cse.mlir
26
27builtin.module @outer {
28
29  func.func @symA() {
30    return
31  }
32
33  builtin.module @inner {
34    func.func @symB() {
35      return
36    }
37    func.func @symC() {
38      return
39    }
40  }
41}
42