1 // RUN: mlir-opt %s | FileCheck %s
2 // Verify the printed output can be parsed.
3 // RUN: mlir-opt %s | mlir-opt | FileCheck %s
4 // Verify the generic form can be parsed.
5 // RUN: mlir-opt -mlir-print-op-generic %s | mlir-opt | FileCheck %s
7 // CHECK-LABEL: func @poison()
8 // CHECK: %{{.*}} = ub.poison : i32
9 func.func @poison() -> i32 {
14 // CHECK-LABEL: func @poison_full_form()
15 // CHECK: %{{.*}} = ub.poison : i32
16 func.func @poison_full_form() -> i32 {
17 %0 = ub.poison <#ub.poison> : i32
21 // CHECK-LABEL: func @poison_complex()
22 // CHECK: %{{.*}} = ub.poison : complex<f32>
23 func.func @poison_complex() -> complex<f32> {
24 %0 = ub.poison : complex<f32>
25 return %0 : complex<f32>
28 // CHECK-LABEL: func @poison_vec()
29 // CHECK: %{{.*}} = ub.poison : vector<4xi64>
30 func.func @poison_vec() -> vector<4xi64> {
31 %0 = ub.poison : vector<4xi64>
32 return %0 : vector<4xi64>
35 // CHECK-LABEL: func @poison_tensor()
36 // CHECK: %{{.*}} = ub.poison : tensor<8x?xf64>
37 func.func @poison_tensor() -> tensor<8x?xf64> {
38 %0 = ub.poison : tensor<8x?xf64>
39 return %0 : tensor<8x?xf64>