1// RUN: mlir-opt %s --allow-unregistered-dialect | mlir-opt --allow-unregistered-dialect | FileCheck %s
2// RUN: mlir-opt %s --allow-unregistered-dialect --mlir-print-op-generic | mlir-opt --allow-unregistered-dialect | FileCheck %s
3
4// CHECK-LABEL: ml_program.func private @extern_func
5ml_program.func private @extern_func(i32) -> i32
6
7// CHECK-LABEL: ml_program.func @defined_func
8ml_program.func @defined_func(%arg0 : i32) -> i32 {
9  ml_program.return %arg0 : i32
10}
11
12// CHECK-LABEL: ml_program.subgraph private @extern_subgraph
13ml_program.subgraph private @extern_subgraph(i32) -> i32
14
15// CHECK-LABEL: ml_program.subgraph @compute_subgraph
16ml_program.subgraph @compute_subgraph(%arg0 : i32) -> i32 {
17  %1 = "unregistered.dummy"(%0) : (i32) -> i32
18  %0 = "unregistered.dummy"(%arg0) : (i32) -> i32
19  ml_program.output %0 : i32
20}
21
22// CHECK: ml_program.global private @global_same_type(dense<4> : tensor<4xi32>) : tensor<4xi32>
23ml_program.global private @global_same_type(dense<4> : tensor<4xi32>) : tensor<4xi32>
24
25// CHECK: ml_program.global private mutable @global_mutable_undef : tensor<?xi32>
26ml_program.global private mutable @global_mutable_undef : tensor<?xi32>
27
28// CHECK: ml_program.global private mutable @global_extern(#extern) : tensor<?xi32>
29ml_program.global private mutable @global_extern(#ml_program.extern : tensor<4xi32>) : tensor<?xi32>
30