[mlir][linalg] Fix dim(iter_arg) canonicalization
[llvm-project.git] / mlir / test / Analysis / test-callgraph.mlir
blob1befa5338100bcb50938b072c68110236b00b5dd
1 // RUN: mlir-opt %s -test-print-callgraph -split-input-file -allow-unregistered-dialect 2>&1 | FileCheck %s
3 // CHECK-LABEL: Testing : "simple"
4 module attributes {test.name = "simple"} {
6   // CHECK: Node{{.*}}func_a
7   func @func_a() {
8     return
9   }
11   func private @func_b()
13   // CHECK: Node{{.*}}func_c
14   // CHECK-NEXT: Call-Edge{{.*}}External-Node
15   func @func_c() {
16     call @func_b() : () -> ()
17     return
18   }
20   // CHECK: Node{{.*}}func_d
21   // CHECK-NEXT: Call-Edge{{.*}}func_c
22   func @func_d() {
23     call @func_c() : () -> ()
24     return
25   }
27   // CHECK: Node{{.*}}func_e
28   // CHECK-DAG: Call-Edge{{.*}}func_c
29   // CHECK-DAG: Call-Edge{{.*}}func_d
30   // CHECK-DAG: Call-Edge{{.*}}func_e
31   func @func_e() {
32     call @func_c() : () -> ()
33     call @func_d() : () -> ()
34     call @func_e() : () -> ()
35     return
36   }
38   // CHECK: Node{{.*}}func_f
39   // CHECK: Child-Edge{{.*}}test.functional_region_op
40   // CHECK: Call-Edge{{.*}}test.functional_region_op
41   func @func_f() {
42     // CHECK: Node{{.*}}test.functional_region_op
43     // CHECK: Call-Edge{{.*}}func_f
44     %fn = "test.functional_region_op"() ({
45       call @func_f() : () -> ()
46       "test.return"() : () -> ()
47     }) : () -> (() -> ())
49     call_indirect %fn() : () -> ()
50     return
51   }
54 // -----
56 // CHECK-LABEL: Testing : "nested"
57 module attributes {test.name = "nested"} {
58   module @nested_module {
59     // CHECK: Node{{.*}}func_a
60     func @func_a() {
61       return
62     }
63   }
65   // CHECK: Node{{.*}}func_b
66   // CHECK: Call-Edge{{.*}}func_a
67   func @func_b() {
68     "test.conversion_call_op"() { callee = @nested_module::@func_a } : () -> ()
69     return
70   }