1
1
// RUN: mlir-opt %s -split-input-file -verify-diagnostics
2
2
3
- // expected-error@+1 {{expected a non-empty array for lvlTypes}}
4
- #a = #sparse_tensor.encoding <{lvlTypes = []}>
3
+ // expected-error@+1 {{expected '(' in dimension-specifier list}}
4
+ #a = #sparse_tensor.encoding <{map = []}>
5
+ func.func private @scalar (%arg0: tensor <f64 , #a >) -> ()
6
+
7
+ // -----
8
+
9
+ // expected-error@+1 {{expected '->'}}
10
+ #a = #sparse_tensor.encoding <{map = ()}>
11
+ func.func private @scalar (%arg0: tensor <f64 , #a >) -> ()
12
+
13
+ // -----
14
+
15
+ // expected-error@+1 {{expected ')' in dimension-specifier list}}
16
+ #a = #sparse_tensor.encoding <{map = (d0 -> d0 )}>
17
+ func.func private @scalar (%arg0: tensor <f64 , #a >) -> ()
18
+
19
+ // -----
20
+
21
+ // expected-error@+1 {{expected '(' in dimension-specifier list}}
22
+ #a = #sparse_tensor.encoding <{map = d0 -> d0 }>
23
+ func.func private @scalar (%arg0: tensor <f64 , #a >) -> ()
24
+
25
+ // -----
26
+
27
+ // expected-error@+1 {{expected '(' in level-specifier list}}
28
+ #a = #sparse_tensor.encoding <{map = (d0 ) -> d0 }>
29
+ func.func private @scalar (%arg0: tensor <f64 , #a >) -> ()
30
+
31
+ // -----
32
+
33
+ // expected-error@+1 {{expected ':'}}
34
+ #a = #sparse_tensor.encoding <{map = (d0 ) -> (d0 )}>
35
+ func.func private @scalar (%arg0: tensor <f64 , #a >) -> ()
36
+
37
+ // -----
38
+
39
+ // expected-error@+1 {{expected valid level format (e.g. dense, compressed or singleton)}}
40
+ #a = #sparse_tensor.encoding <{map = (d0 ) -> (d0 :)}>
41
+ func.func private @scalar (%arg0: tensor <f64 , #a >) -> ()
42
+
43
+ // -----
44
+
45
+ // expected-error@+1 {{expected valid level format (e.g. dense, compressed or singleton)}}
46
+ #a = #sparse_tensor.encoding <{map = (d0 ) -> (d0 : (compressed))}>
5
47
func.func private @scalar (%arg0: tensor <f64 , #a >) -> ()
6
48
7
49
// -----
@@ -18,17 +60,61 @@ func.func private @tensor_sizes_mismatch(%arg0: tensor<8xi32, #a>) -> ()
18
60
19
61
// -----
20
62
21
- #a = #sparse_tensor.encoding <{lvlTypes = [1 ]}> // expected-error {{expected a string value in lvlTypes}}
63
+ // expected-error@+1 {{unexpected dimToLvl mapping from 2 to 1}}
64
+ #a = #sparse_tensor.encoding <{map = (d0 , d1 ) -> (d0 : dense)}>
65
+ func.func private @tensor_sizes_mismatch (%arg0: tensor <8 xi32 , #a >) -> ()
66
+
67
+ // -----
68
+
69
+ // expected-error@+1 {{expected bare identifier}}
70
+ #a = #sparse_tensor.encoding <{map = (1 )}>
71
+ func.func private @tensor_type_mismatch (%arg0: tensor <8 xi32 , #a >) -> ()
72
+
73
+ // -----
74
+
75
+ // expected-error@+1 {{unexpected key: nap}}
76
+ #a = #sparse_tensor.encoding <{nap = (d0 ) -> (d0 : dense)}>
77
+ func.func private @tensor_type_mismatch (%arg0: tensor <8 xi32 , #a >) -> ()
78
+
79
+ // -----
80
+
81
+ // expected-error@+1 {{expected '(' in dimension-specifier list}}
82
+ #a = #sparse_tensor.encoding <{map = -> (d0 : dense)}>
22
83
func.func private @tensor_type_mismatch (%arg0: tensor <8 xi32 , #a >) -> ()
23
84
24
85
// -----
25
86
26
- #a = #sparse_tensor.encoding <{lvlTypes = [" strange" ]}> // expected-error {{unexpected level-type: strange}}
87
+ // expected-error@+1 {{unknown level format: strange}}
88
+ #a = #sparse_tensor.encoding <{map = (d0 ) -> (d0 : strange)}>
27
89
func.func private @tensor_value_mismatch (%arg0: tensor <8 xi32 , #a >) -> ()
28
90
29
91
// -----
30
92
31
- #a = #sparse_tensor.encoding <{dimToLvl = " wrong" }> // expected-error {{expected an affine map for dimToLvl}}
93
+ // expected-error@+1 {{expected valid level format (e.g. dense, compressed or singleton)}}
94
+ #a = #sparse_tensor.encoding <{map = (d0 ) -> (d0 : " wrong" )}>
95
+ func.func private @tensor_dimtolvl_mismatch (%arg0: tensor <8 xi32 , #a >) -> ()
96
+
97
+ // -----
98
+
99
+ // expected-error@+1 {{expected valid level property (e.g. nonordered, nonunique or high)}}
100
+ #a = #sparse_tensor.encoding <{map = (d0 ) -> (d0 : compressed(" wrong" ))}>
101
+ func.func private @tensor_dimtolvl_mismatch (%arg0: tensor <8 xi32 , #a >) -> ()
102
+
103
+ // -----
104
+ // expected-error@+1 {{expected ')' in level-specifier list}}
105
+ #a = #sparse_tensor.encoding <{map = (d0 ) -> (d0 : compressed[high ])}>
106
+ func.func private @tensor_dimtolvl_mismatch (%arg0: tensor <8 xi32 , #a >) -> ()
107
+
108
+ // -----
109
+
110
+ // expected-error@+1 {{unknown level property: wrong}}
111
+ #a = #sparse_tensor.encoding <{map = (d0 ) -> (d0 : compressed(wrong))}>
112
+ func.func private @tensor_dimtolvl_mismatch (%arg0: tensor <8 xi32 , #a >) -> ()
113
+
114
+ // -----
115
+
116
+ // expected-error@+1 {{use of undeclared identifier}}
117
+ #a = #sparse_tensor.encoding <{map = (d0 ) -> (d0 : compressed , dense)}>
32
118
func.func private @tensor_dimtolvl_mismatch (%arg0: tensor <8 xi32 , #a >) -> ()
33
119
34
120
// -----
@@ -39,6 +125,73 @@ func.func private @tensor_no_permutation(%arg0: tensor<16x32xf32, #a>) -> ()
39
125
40
126
// -----
41
127
128
+ // expected-error@+1 {{unexpected character}}
129
+ #a = #sparse_tensor.encoding <{map = (d0 , d1 ) -> (d0 : compressed; d1 : dense)}>
130
+ func.func private @tensor_dimtolvl_mismatch (%arg0: tensor <16 x32 xi32 , #a >) -> ()
131
+
132
+ // -----
133
+
134
+ // expected-error@+1 {{expected attribute value}}
135
+ #a = #sparse_tensor.encoding <{map = (d0 : d1 ) -> (d0 : compressed , d1 : dense)}>
136
+ func.func private @tensor_dimtolvl_mismatch (%arg0: tensor <16 x32 xi32 , #a >) -> ()
137
+
138
+ // -----
139
+
140
+ // expected-error@+1 {{expected ':'}}
141
+ #a = #sparse_tensor.encoding <{map = (d0 , d1 ) -> (d0 = compressed , d1 = dense)}>
142
+ func.func private @tensor_dimtolvl_mismatch (%arg0: tensor <16 x32 xi32 , #a >) -> ()
143
+
144
+ // -----
145
+
146
+ // expected-error@+1 {{expected attribute value}}
147
+ #a = #sparse_tensor.encoding <{map = (d0 : compressed , d1 : compressed)}>
148
+ func.func private @tensor_dimtolvl_mismatch (%arg0: tensor <16 x32 xi32 , #a >) -> ()
149
+
150
+ // -----
151
+
152
+ // expected-error@+1 {{use of undeclared identifier}}
153
+ #a = #sparse_tensor.encoding <{map = (d0 = compressed , d1 = compressed)}>
154
+ func.func private @tensor_dimtolvl_mismatch (%arg0: tensor <16 x32 xi32 , #a >) -> ()
155
+
156
+ // -----
157
+
158
+ // expected-error@+1 {{use of undeclared identifier}}
159
+ #a = #sparse_tensor.encoding <{map = (d0 = l0 , d1 = l1 ) {l0 , l1 } -> (l0 = d0 : dense , l1 = d1 : compressed)}>
160
+ func.func private @tensor_dimtolvl_mismatch (%arg0: tensor <16 x32 xi32 , #a >) -> ()
161
+
162
+ // -----
163
+
164
+ // expected-error@+1 {{expected '='}}
165
+ #a = #sparse_tensor.encoding <{map = {l0 , l1 } (d0 = l0 , d1 = l1 ) -> (l0 : d0 = dense , l1 : d1 = compressed)}>
166
+ func.func private @tensor_dimtolvl_mismatch (%arg0: tensor <16 x32 xi32 , #a >) -> ()
167
+
168
+ // -----
169
+ // expected-error@+1 {{use of undeclared identifier 'd0'}}
170
+ #a = #sparse_tensor.encoding <{map = {l0 , l1 } (d0 = l0 , d1 = l1 ) -> (d0 : l0 = dense , d1 : l1 = compressed)}>
171
+ func.func private @tensor_dimtolvl_mismatch (%arg0: tensor <16 x32 xi32 , #a >) -> ()
172
+
173
+ // -----
174
+ // expected-error@+1 {{use of undeclared identifier 'd0'}}
175
+ #a = #sparse_tensor.encoding <{map = {l0 , l1 } (d0 = l0 , d1 = l1 ) -> (d0 : dense , d1 : compressed)}>
176
+ func.func private @tensor_dimtolvl_mismatch (%arg0: tensor <16 x32 xi32 , #a >) -> ()
177
+
178
+ // -----
179
+ // expected-error@+1 {{expected '='}}
180
+ #a = #sparse_tensor.encoding <{map = {l0 , l1 } (d0 = l0 , d1 = l1 ) -> (l0 : dense , l1 : compressed)}>
181
+ func.func private @tensor_dimtolvl_mismatch (%arg0: tensor <16 x32 xi32 , #a >) -> ()
182
+
183
+ // -----
184
+ // expected-error@+1 {{use of undeclared identifier}}
185
+ #a = #sparse_tensor.encoding <{map = {l0 , l1 } (d0 = l0 , d1 = l1 ) -> (l0 = dense , l1 = compressed)}>
186
+ func.func private @tensor_dimtolvl_mismatch (%arg0: tensor <16 x32 xi32 , #a >) -> ()
187
+
188
+ // -----
189
+ // expected-error@+1 {{use of undeclared identifier 'd0'}}
190
+ #a = #sparse_tensor.encoding <{map = {l0 , l1 } (d0 = l0 , d1 = l1 ) -> (d0 = l0 : dense , d1 = l1 : compressed)}>
191
+ func.func private @tensor_dimtolvl_mismatch (%arg0: tensor <16 x32 xi32 , #a >) -> ()
192
+
193
+ // -----
194
+
42
195
#a = #sparse_tensor.encoding <{posWidth = " x" }> // expected-error {{expected an integral position bitwidth}}
43
196
func.func private @tensor_no_int_ptr (%arg0: tensor <16 x32 xf32 , #a >) -> ()
44
197
0 commit comments