1// RUN: mlir-opt %s -split-input-file -verify-diagnostics
2
3// -----
4
5#a = #sparse_tensor.encoding<{dimLevelType = ["dense", "compressed"]}>
6func private @tensor_size_mismatch(%arg0: tensor<8xi32, #a>) -> () // expected-error {{expected an array of size 1 for dimension level types}}
7
8// -----
9
10#a = #sparse_tensor.encoding<{dimLevelType = ["dense", "compressed"], dimOrdering = affine_map<(i) -> (i)>}> // expected-error {{unexpected mismatch in ordering and dimension level types size}}
11func private @tensor_sizes_mismatch(%arg0: tensor<8xi32, #a>) -> ()
12
13// -----
14
15#a = #sparse_tensor.encoding<{dimLevelType = [1]}> // expected-error {{expected a string value in dimension level types}}
16func private @tensor_type_mismatch(%arg0: tensor<8xi32, #a>) -> ()
17
18// -----
19
20#a = #sparse_tensor.encoding<{dimLevelType = ["strange"]}> // expected-error {{unexpected dimension level type: strange}}
21func private @tensor_value_mismatch(%arg0: tensor<8xi32, #a>) -> ()
22
23// -----
24
25#a = #sparse_tensor.encoding<{dimOrdering = "wrong"}> // expected-error {{expected an affine map for dimension ordering}}
26func private @tensor_order_mismatch(%arg0: tensor<8xi32, #a>) -> ()
27
28// -----
29
30#a = #sparse_tensor.encoding<{dimOrdering = affine_map<(i,j) -> (i,i)>}> // expected-error {{expected a permutation affine map for dimension ordering}}
31func private @tensor_no_permutation(%arg0: tensor<16x32xf32, #a>) -> ()
32
33// -----
34
35#a = #sparse_tensor.encoding<{pointerBitWidth = "x"}> // expected-error {{expected an integral pointer bitwidth}}
36func private @tensor_no_int_ptr(%arg0: tensor<16x32xf32, #a>) -> ()
37
38// -----
39
40#a = #sparse_tensor.encoding<{pointerBitWidth = 42}> // expected-error {{unexpected pointer bitwidth: 42}}
41func private @tensor_invalid_int_ptr(%arg0: tensor<16x32xf32, #a>) -> ()
42
43// -----
44
45#a = #sparse_tensor.encoding<{indexBitWidth = "not really"}> // expected-error {{expected an integral index bitwidth}}
46func private @tensor_no_int_index(%arg0: tensor<16x32xf32, #a>) -> ()
47
48// -----
49
50#a = #sparse_tensor.encoding<{indexBitWidth = 128}> // expected-error {{unexpected index bitwidth: 128}}
51func private @tensor_invalid_int_index(%arg0: tensor<16x32xf32, #a>) -> ()
52
53// -----
54
55#a = #sparse_tensor.encoding<{key = 1}> // expected-error {{unexpected key: key}}
56func private @tensor_invalid_key(%arg0: tensor<16x32xf32, #a>) -> ()
57