@@ -59,7 +59,7 @@ memref.global @global : memref<3xi64>
59
59
60
60
// CHECK-LABEL: llvm.func @get_global() -> !llvm.ptr
61
61
// CHECK-NEXT: %[[VAL_0:.*]] = llvm.mlir.addressof @global : !llvm.ptr
62
- // CHECK-NEXT: %[[VAL_1:.*]] = llvm.getelementptr inbounds %[[VAL_0]][0, 0] : (!llvm.ptr) -> !llvm.ptr
62
+ // CHECK-NEXT: %[[VAL_1:.*]] = llvm.getelementptr inbounds %[[VAL_0]][0, 0] : (!llvm.ptr) -> !llvm.ptr, i64
63
63
// CHECK-NEXT: llvm.return %[[VAL_1]] : !llvm.ptr
64
64
// CHECK-NEXT: }
65
65
@@ -91,8 +91,7 @@ memref.global "private" constant @shape : memref<2xi64> = dense<[2, 2]>
91
91
92
92
// CHECK-LABEL: llvm.func @reshape(
93
93
// CHECK-SAME: %[[VAL_0:.*]]: !llvm.ptr) -> !llvm.ptr
94
- // CHECK: %[[VAL_2:.*]] = llvm.getelementptr inbounds %{{.*}}[0, 0] : (!llvm.ptr) -> !llvm.ptr
95
- // CHECK-NEXT: llvm.return %[[VAL_0]] : !llvm.ptr
94
+ // CHECK: llvm.return %[[VAL_0]] : !llvm.ptr
96
95
// CHECK-NEXT: }
97
96
98
97
func.func private @reshape (%arg0: memref <4 xi32 >) -> memref <2 x2 xi32 > {
@@ -107,8 +106,7 @@ memref.global "private" constant @shape : memref<1xindex>
107
106
108
107
// CHECK-LABEL: llvm.func @reshape_dyn(
109
108
// CHECK-SAME: %[[VAL_0:.*]]: !llvm.ptr) -> !llvm.ptr
110
- // CHECK: %[[VAL_2:.*]] = llvm.getelementptr inbounds %{{.*}}[0, 0] : (!llvm.ptr) -> !llvm.ptr
111
- // CHECK-NEXT: llvm.return %[[VAL_0]] : !llvm.ptr
109
+ // CHECK: llvm.return %[[VAL_0]] : !llvm.ptr
112
110
// CHECK-NEXT: }
113
111
114
112
func.func private @reshape_dyn (%arg0: memref <4 xi32 >) -> memref <?xi32 > {
@@ -122,7 +120,7 @@ func.func private @reshape_dyn(%arg0: memref<4xi32>) -> memref<?xi32> {
122
120
// CHECK-LABEL: llvm.func @alloca()
123
121
// CHECK-NEXT: %[[VAL_0:.*]] = llvm.mlir.null : !llvm.ptr
124
122
// CHECK-NEXT: %[[VAL_1:.*]] = llvm.mlir.constant(2 : index) : i64
125
- // CHECK-NEXT: %[[VAL_2:.*]] = llvm.getelementptr %[[VAL_0]]{{\[}}%[[VAL_1]]] : (!llvm.ptr, i64) -> !llvm.ptr
123
+ // CHECK-NEXT: %[[VAL_2:.*]] = llvm.getelementptr %[[VAL_0]]{{\[}}%[[VAL_1]]] : (!llvm.ptr, i64) -> !llvm.ptr, i32
126
124
// CHECK-NEXT: %[[VAL_3:.*]] = llvm.ptrtoint %[[VAL_2]] : !llvm.ptr to i64
127
125
// CHECK-NEXT: %[[VAL_4:.*]] = llvm.alloca %[[VAL_3]] x i32 : (i64) -> !llvm.ptr
128
126
// CHECK-NEXT: llvm.return
@@ -138,7 +136,7 @@ func.func private @alloca() {
138
136
// CHECK-LABEL: llvm.func @alloca_nd()
139
137
// CHECK-NEXT: %[[VAL_0:.*]] = llvm.mlir.null : !llvm.ptr
140
138
// CHECK-NEXT: %[[VAL_1:.*]] = llvm.mlir.constant(60 : index) : i64
141
- // CHECK-NEXT: %[[VAL_2:.*]] = llvm.getelementptr %[[VAL_0]]{{\[}}%[[VAL_1]]] : (!llvm.ptr, i64) -> !llvm.ptr
139
+ // CHECK-NEXT: %[[VAL_2:.*]] = llvm.getelementptr %[[VAL_0]]{{\[}}%[[VAL_1]]] : (!llvm.ptr, i64) -> !llvm.ptr, i32
142
140
// CHECK-NEXT: %[[VAL_3:.*]] = llvm.ptrtoint %[[VAL_2]] : !llvm.ptr to i64
143
141
// CHECK-NEXT: %[[VAL_4:.*]] = llvm.alloca %[[VAL_3]] x i32 : (i64) -> !llvm.ptr
144
142
// CHECK-NEXT: llvm.return
@@ -154,7 +152,7 @@ func.func private @alloca_nd() {
154
152
// CHECK-LABEL: llvm.func @alloca_aligned()
155
153
// CHECK-NEXT: %[[VAL_0:.*]] = llvm.mlir.null : !llvm.ptr
156
154
// CHECK-NEXT: %[[VAL_1:.*]] = llvm.mlir.constant(2 : index) : i64
157
- // CHECK-NEXT: %[[VAL_2:.*]] = llvm.getelementptr %[[VAL_0]]{{\[}}%[[VAL_1]]] : (!llvm.ptr, i64) -> !llvm.ptr
155
+ // CHECK-NEXT: %[[VAL_2:.*]] = llvm.getelementptr %[[VAL_0]]{{\[}}%[[VAL_1]]] : (!llvm.ptr, i64) -> !llvm.ptr, i32
158
156
// CHECK-NEXT: %[[VAL_3:.*]] = llvm.ptrtoint %[[VAL_2]] : !llvm.ptr to i64
159
157
// CHECK-NEXT: %[[VAL_4:.*]] = llvm.alloca %[[VAL_3]] x i32 {alignment = 8 : i64} : (i64) -> !llvm.ptr
160
158
// CHECK-NEXT: llvm.return
@@ -170,7 +168,7 @@ func.func private @alloca_aligned() {
170
168
// CHECK-LABEL: llvm.func @alloca_nd_aligned()
171
169
// CHECK-NEXT: %[[VAL_0:.*]] = llvm.mlir.null : !llvm.ptr
172
170
// CHECK-NEXT: %[[VAL_1:.*]] = llvm.mlir.constant(60 : index) : i64
173
- // CHECK-NEXT: %[[VAL_2:.*]] = llvm.getelementptr %[[VAL_0]]{{\[}}%[[VAL_1]]] : (!llvm.ptr, i64) -> !llvm.ptr
171
+ // CHECK-NEXT: %[[VAL_2:.*]] = llvm.getelementptr %[[VAL_0]]{{\[}}%[[VAL_1]]] : (!llvm.ptr, i64) -> !llvm.ptr, i32
174
172
// CHECK-NEXT: %[[VAL_3:.*]] = llvm.ptrtoint %[[VAL_2]] : !llvm.ptr to i64
175
173
// CHECK-NEXT: %[[VAL_4:.*]] = llvm.alloca %[[VAL_3]] x i32 {alignment = 8 : i64} : (i64) -> !llvm.ptr
176
174
// CHECK-NEXT: llvm.return
@@ -189,7 +187,7 @@ func.func private @alloca_nd_aligned() {
189
187
// CHECK-NEXT: %[[VAL_0:.*]] = llvm.mlir.constant(2 : index) : i64
190
188
// CHECK-NEXT: %[[VAL_1:.*]] = llvm.mlir.constant(1 : index) : i64
191
189
// CHECK-NEXT: %[[VAL_2:.*]] = llvm.mlir.null : !llvm.ptr
192
- // CHECK-NEXT: %[[VAL_3:.*]] = llvm.getelementptr %[[VAL_2]]{{\[}}%[[VAL_0]]] : (!llvm.ptr, i64) -> !llvm.ptr
190
+ // CHECK-NEXT: %[[VAL_3:.*]] = llvm.getelementptr %[[VAL_2]]{{\[}}%[[VAL_0]]] : (!llvm.ptr, i64) -> !llvm.ptr, i32
193
191
// CHECK-NEXT: %[[VAL_4:.*]] = llvm.ptrtoint %[[VAL_3]] : !llvm.ptr to i64
194
192
// CHECK-NEXT: %[[VAL_5:.*]] = llvm.call @malloc(%[[VAL_4]]) : (i64) -> !llvm.ptr
195
193
// CHECK-NEXT: llvm.return
@@ -210,7 +208,7 @@ func.func private @alloc() {
210
208
// CHECK-NEXT: %[[VAL_4:.*]] = llvm.mlir.constant(20 : index) : i64
211
209
// CHECK-NEXT: %[[VAL_5:.*]] = llvm.mlir.constant(60 : index) : i64
212
210
// CHECK-NEXT: %[[VAL_6:.*]] = llvm.mlir.null : !llvm.ptr
213
- // CHECK-NEXT: %[[VAL_7:.*]] = llvm.getelementptr %[[VAL_6]]{{\[}}%[[VAL_5]]] : (!llvm.ptr, i64) -> !llvm.ptr
211
+ // CHECK-NEXT: %[[VAL_7:.*]] = llvm.getelementptr %[[VAL_6]]{{\[}}%[[VAL_5]]] : (!llvm.ptr, i64) -> !llvm.ptr, i32
214
212
// CHECK-NEXT: %[[VAL_8:.*]] = llvm.ptrtoint %[[VAL_7]] : !llvm.ptr to i64
215
213
// CHECK-NEXT: %[[VAL_9:.*]] = llvm.call @malloc(%[[VAL_8]]) : (i64) -> !llvm.ptr
216
214
// CHECK-NEXT: llvm.return
@@ -227,7 +225,7 @@ func.func private @alloc_nd() {
227
225
// CHECK-NEXT: %[[VAL_0:.*]] = llvm.mlir.constant(2 : index) : i64
228
226
// CHECK-NEXT: %[[VAL_1:.*]] = llvm.mlir.constant(1 : index) : i64
229
227
// CHECK-NEXT: %[[VAL_2:.*]] = llvm.mlir.null : !llvm.ptr
230
- // CHECK-NEXT: %[[VAL_3:.*]] = llvm.getelementptr %[[VAL_2]]{{\[}}%[[VAL_0]]] : (!llvm.ptr, i64) -> !llvm.ptr
228
+ // CHECK-NEXT: %[[VAL_3:.*]] = llvm.getelementptr %[[VAL_2]]{{\[}}%[[VAL_0]]] : (!llvm.ptr, i64) -> !llvm.ptr, i32
231
229
// CHECK-NEXT: %[[VAL_4:.*]] = llvm.ptrtoint %[[VAL_3]] : !llvm.ptr to i64
232
230
// CHECK-NEXT: %[[VAL_5:.*]] = llvm.mlir.constant(8 : index) : i64
233
231
// CHECK-NEXT: %[[VAL_6:.*]] = llvm.add %[[VAL_4]], %[[VAL_5]] : i64
@@ -257,7 +255,7 @@ func.func private @alloc_aligned() {
257
255
// CHECK-NEXT: %[[VAL_4:.*]] = llvm.mlir.constant(20 : index) : i64
258
256
// CHECK-NEXT: %[[VAL_5:.*]] = llvm.mlir.constant(60 : index) : i64
259
257
// CHECK-NEXT: %[[VAL_6:.*]] = llvm.mlir.null : !llvm.ptr
260
- // CHECK-NEXT: %[[VAL_7:.*]] = llvm.getelementptr %[[VAL_6]]{{\[}}%[[VAL_5]]] : (!llvm.ptr, i64) -> !llvm.ptr
258
+ // CHECK-NEXT: %[[VAL_7:.*]] = llvm.getelementptr %[[VAL_6]]{{\[}}%[[VAL_5]]] : (!llvm.ptr, i64) -> !llvm.ptr, i32
261
259
// CHECK-NEXT: %[[VAL_8:.*]] = llvm.ptrtoint %[[VAL_7]] : !llvm.ptr to i64
262
260
// CHECK-NEXT: %[[VAL_9:.*]] = llvm.mlir.constant(8 : index) : i64
263
261
// CHECK-NEXT: %[[VAL_10:.*]] = llvm.add %[[VAL_8]], %[[VAL_9]] : i64
@@ -307,7 +305,7 @@ func.func private @cast(%arg0: memref<2xi32>) -> memref<?xi32> {
307
305
// CHECK-LABEL: llvm.func @load(
308
306
// CHECK-SAME: %[[VAL_0:.*]]: !llvm.ptr,
309
307
// CHECK-SAME: %[[VAL_1:.*]]: i64) -> f32
310
- // CHECK-NEXT: %[[VAL_2:.*]] = llvm.getelementptr %[[VAL_0]]{{\[}}%[[VAL_1]]] : (!llvm.ptr, i64) -> !llvm.ptr
308
+ // CHECK-NEXT: %[[VAL_2:.*]] = llvm.getelementptr %[[VAL_0]]{{\[}}%[[VAL_1]]] : (!llvm.ptr, i64) -> !llvm.ptr, f32
311
309
// CHECK-NEXT: %[[VAL_3:.*]] = llvm.load %[[VAL_2]] : !llvm.ptr
312
310
// CHECK-NEXT: llvm.return %[[VAL_3]] : f32
313
311
// CHECK-NEXT: }
@@ -326,7 +324,7 @@ func.func private @load(%arg0: memref<100xf32>, %index: index) -> f32 {
326
324
// CHECK-NEXT: %[[VAL_3:.*]] = llvm.mlir.constant(100 : index) : i64
327
325
// CHECK-NEXT: %[[VAL_4:.*]] = llvm.mul %[[VAL_1]], %[[VAL_3]] : i64
328
326
// CHECK-NEXT: %[[VAL_5:.*]] = llvm.add %[[VAL_4]], %[[VAL_2]] : i64
329
- // CHECK-NEXT: %[[VAL_6:.*]] = llvm.getelementptr %[[VAL_0]]{{\[}}%[[VAL_5]]] : (!llvm.ptr, i64) -> !llvm.ptr
327
+ // CHECK-NEXT: %[[VAL_6:.*]] = llvm.getelementptr %[[VAL_0]]{{\[}}%[[VAL_5]]] : (!llvm.ptr, i64) -> !llvm.ptr, f32
330
328
// CHECK-NEXT: %[[VAL_7:.*]] = llvm.load %[[VAL_6]] : !llvm.ptr
331
329
// CHECK-NEXT: llvm.return %[[VAL_7]] : f32
332
330
// CHECK-NEXT: }
@@ -345,7 +343,7 @@ func.func private @load_nd(%arg0: memref<100x100xf32>, %index0: index, %index1:
345
343
// CHECK-NEXT: %[[VAL_3:.*]] = llvm.mlir.constant(100 : index) : i64
346
344
// CHECK-NEXT: %[[VAL_4:.*]] = llvm.mul %[[VAL_1]], %[[VAL_3]] : i64
347
345
// CHECK-NEXT: %[[VAL_5:.*]] = llvm.add %[[VAL_4]], %[[VAL_2]] : i64
348
- // CHECK-NEXT: %[[VAL_6:.*]] = llvm.getelementptr %[[VAL_0]]{{\[}}%[[VAL_5]]] : (!llvm.ptr, i64) -> !llvm.ptr
346
+ // CHECK-NEXT: %[[VAL_6:.*]] = llvm.getelementptr %[[VAL_0]]{{\[}}%[[VAL_5]]] : (!llvm.ptr, i64) -> !llvm.ptr, f32
349
347
// CHECK-NEXT: %[[VAL_7:.*]] = llvm.load %[[VAL_6]] : !llvm.ptr
350
348
// CHECK-NEXT: llvm.return %[[VAL_7]] : f32
351
349
// CHECK-NEXT: }
@@ -434,7 +432,7 @@ func.func private @call(%arg0: memref<?xf32>, %arg1: index) -> memref<?xf32> {
434
432
// CHECK-SAME: %[[VAL_1:.*]]: i64) -> !llvm.ptr
435
433
// CHECK-NEXT: %[[VAL_2:.*]] = llvm.mlir.constant(4 : i64) : i64
436
434
// CHECK-NEXT: %[[VAL_3:.*]] = llvm.mul %[[VAL_1]], %[[VAL_2]] : i64
437
- // CHECK-NEXT: %[[VAL_4:.*]] = llvm.getelementptr %[[VAL_0]]{{\[}}%[[VAL_3]]] : (!llvm.ptr, i64) -> !llvm.ptr
435
+ // CHECK-NEXT: %[[VAL_4:.*]] = llvm.getelementptr %[[VAL_0]]{{\[}}%[[VAL_3]]] : (!llvm.ptr, i64) -> !llvm.ptr, f32
438
436
// CHECK-NEXT: llvm.return %[[VAL_4]] : !llvm.ptr
439
437
// CHECK-NEXT: }
440
438
@@ -448,7 +446,7 @@ func.func private @subindexop_memref(%arg0: memref<4x4xf32>, %arg1: index) -> me
448
446
// CHECK-LABEL: llvm.func @subindexop_memref_same_dim(
449
447
// CHECK-SAME: %[[VAL_0:.*]]: !llvm.ptr,
450
448
// CHECK-SAME: %[[VAL_1:.*]]: i64) -> !llvm.ptr
451
- // CHECK-NEXT: %[[VAL_2:.*]] = llvm.getelementptr %[[VAL_0]]{{\[}}%[[VAL_1]]] : (!llvm.ptr, i64) -> !llvm.ptr
449
+ // CHECK-NEXT: %[[VAL_2:.*]] = llvm.getelementptr %[[VAL_0]]{{\[}}%[[VAL_1]]] : (!llvm.ptr, i64) -> !llvm.ptr, f32
452
450
// CHECK-NEXT: llvm.return %[[VAL_2]] : !llvm.ptr
453
451
// CHECK-NEXT: }
454
452
@@ -479,7 +477,7 @@ func.func private @subindexop_memref_struct(%arg0: memref<4x!llvm.struct<(f32)>>
479
477
// CHECK-SAME: %[[VAL_0:.*]]: !llvm.ptr) -> !llvm.ptr
480
478
// CHECK-NEXT: %[[VAL_1:.*]] = llvm.mlir.constant(0 : index) : i64
481
479
// CHECK-NEXT: %[[VAL_2:.*]] = llvm.mlir.constant(0 : i64) : i64
482
- // CHECK-NEXT: %[[VAL_3:.*]] = llvm.getelementptr %[[VAL_0]]{{\[}}%[[VAL_2]], %[[VAL_2]], %[[VAL_1]]] : (!llvm.ptr, i64, i64, i64) -> !llvm.ptr
480
+ // CHECK-NEXT: %[[VAL_3:.*]] = llvm.getelementptr %[[VAL_0]]{{\[}}%[[VAL_2]], %[[VAL_2]], %[[VAL_1]]] : (!llvm.ptr, i64, i64, i64) -> !llvm.ptr, f32
483
481
// CHECK-NEXT: llvm.return %[[VAL_3]] : !llvm.ptr
484
482
// CHECK-NEXT: }
485
483
@@ -539,7 +537,7 @@ func.func private @ptr2memref(%arg0: !llvm.ptr) -> memref<?xf32> {
539
537
// CHECK-NEXT: %[[VAL_2:.*]] = llvm.extractvalue %[[VAL_0]][1] : !llvm.struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>
540
538
// CHECK-NEXT: %[[VAL_3:.*]] = llvm.mlir.constant(-1 : index) : i64
541
539
// CHECK-NEXT: %[[VAL_4:.*]] = llvm.add %[[VAL_3]], %[[VAL_1]] : i64
542
- // CHECK-NEXT: %[[VAL_5:.*]] = llvm.getelementptr %[[VAL_2]][%[[VAL_4]]] : (!llvm.ptr, i64) -> !llvm.ptr
540
+ // CHECK-NEXT: %[[VAL_5:.*]] = llvm.getelementptr %[[VAL_2]][%[[VAL_4]]] : (!llvm.ptr, i64) -> !llvm.ptr, i64
543
541
// CHECK-NEXT: %[[VAL_6:.*]] = llvm.load %[[VAL_5]] : !llvm.ptr
544
542
// CHECK-NEXT: llvm.return %[[VAL_6]] : i64
545
543
// CHECK-NEXT: }
0 commit comments