@@ -59,7 +59,7 @@ memref.global @global : memref<3xi64>
5959
6060// CHECK-LABEL: llvm.func @get_global() -> !llvm.ptr
6161// 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
6363// CHECK-NEXT: llvm.return %[[VAL_1]] : !llvm.ptr
6464// CHECK-NEXT: }
6565
@@ -91,8 +91,7 @@ memref.global "private" constant @shape : memref<2xi64> = dense<[2, 2]>
9191
9292// CHECK-LABEL: llvm.func @reshape(
9393// 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
9695// CHECK-NEXT: }
9796
9897func.func private @reshape (%arg0: memref <4 xi32 >) -> memref <2 x2 xi32 > {
@@ -107,8 +106,7 @@ memref.global "private" constant @shape : memref<1xindex>
107106
108107// CHECK-LABEL: llvm.func @reshape_dyn(
109108// 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
112110// CHECK-NEXT: }
113111
114112func.func private @reshape_dyn (%arg0: memref <4 xi32 >) -> memref <?xi32 > {
@@ -122,7 +120,7 @@ func.func private @reshape_dyn(%arg0: memref<4xi32>) -> memref<?xi32> {
122120// CHECK-LABEL: llvm.func @alloca()
123121// CHECK-NEXT: %[[VAL_0:.*]] = llvm.mlir.null : !llvm.ptr
124122// 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
126124// CHECK-NEXT: %[[VAL_3:.*]] = llvm.ptrtoint %[[VAL_2]] : !llvm.ptr to i64
127125// CHECK-NEXT: %[[VAL_4:.*]] = llvm.alloca %[[VAL_3]] x i32 : (i64) -> !llvm.ptr
128126// CHECK-NEXT: llvm.return
@@ -138,7 +136,7 @@ func.func private @alloca() {
138136// CHECK-LABEL: llvm.func @alloca_nd()
139137// CHECK-NEXT: %[[VAL_0:.*]] = llvm.mlir.null : !llvm.ptr
140138// 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
142140// CHECK-NEXT: %[[VAL_3:.*]] = llvm.ptrtoint %[[VAL_2]] : !llvm.ptr to i64
143141// CHECK-NEXT: %[[VAL_4:.*]] = llvm.alloca %[[VAL_3]] x i32 : (i64) -> !llvm.ptr
144142// CHECK-NEXT: llvm.return
@@ -154,7 +152,7 @@ func.func private @alloca_nd() {
154152// CHECK-LABEL: llvm.func @alloca_aligned()
155153// CHECK-NEXT: %[[VAL_0:.*]] = llvm.mlir.null : !llvm.ptr
156154// 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
158156// CHECK-NEXT: %[[VAL_3:.*]] = llvm.ptrtoint %[[VAL_2]] : !llvm.ptr to i64
159157// CHECK-NEXT: %[[VAL_4:.*]] = llvm.alloca %[[VAL_3]] x i32 {alignment = 8 : i64} : (i64) -> !llvm.ptr
160158// CHECK-NEXT: llvm.return
@@ -170,7 +168,7 @@ func.func private @alloca_aligned() {
170168// CHECK-LABEL: llvm.func @alloca_nd_aligned()
171169// CHECK-NEXT: %[[VAL_0:.*]] = llvm.mlir.null : !llvm.ptr
172170// 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
174172// CHECK-NEXT: %[[VAL_3:.*]] = llvm.ptrtoint %[[VAL_2]] : !llvm.ptr to i64
175173// CHECK-NEXT: %[[VAL_4:.*]] = llvm.alloca %[[VAL_3]] x i32 {alignment = 8 : i64} : (i64) -> !llvm.ptr
176174// CHECK-NEXT: llvm.return
@@ -189,7 +187,7 @@ func.func private @alloca_nd_aligned() {
189187// CHECK-NEXT: %[[VAL_0:.*]] = llvm.mlir.constant(2 : index) : i64
190188// CHECK-NEXT: %[[VAL_1:.*]] = llvm.mlir.constant(1 : index) : i64
191189// 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
193191// CHECK-NEXT: %[[VAL_4:.*]] = llvm.ptrtoint %[[VAL_3]] : !llvm.ptr to i64
194192// CHECK-NEXT: %[[VAL_5:.*]] = llvm.call @malloc(%[[VAL_4]]) : (i64) -> !llvm.ptr
195193// CHECK-NEXT: llvm.return
@@ -210,7 +208,7 @@ func.func private @alloc() {
210208// CHECK-NEXT: %[[VAL_4:.*]] = llvm.mlir.constant(20 : index) : i64
211209// CHECK-NEXT: %[[VAL_5:.*]] = llvm.mlir.constant(60 : index) : i64
212210// 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
214212// CHECK-NEXT: %[[VAL_8:.*]] = llvm.ptrtoint %[[VAL_7]] : !llvm.ptr to i64
215213// CHECK-NEXT: %[[VAL_9:.*]] = llvm.call @malloc(%[[VAL_8]]) : (i64) -> !llvm.ptr
216214// CHECK-NEXT: llvm.return
@@ -227,7 +225,7 @@ func.func private @alloc_nd() {
227225// CHECK-NEXT: %[[VAL_0:.*]] = llvm.mlir.constant(2 : index) : i64
228226// CHECK-NEXT: %[[VAL_1:.*]] = llvm.mlir.constant(1 : index) : i64
229227// 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
231229// CHECK-NEXT: %[[VAL_4:.*]] = llvm.ptrtoint %[[VAL_3]] : !llvm.ptr to i64
232230// CHECK-NEXT: %[[VAL_5:.*]] = llvm.mlir.constant(8 : index) : i64
233231// CHECK-NEXT: %[[VAL_6:.*]] = llvm.add %[[VAL_4]], %[[VAL_5]] : i64
@@ -257,7 +255,7 @@ func.func private @alloc_aligned() {
257255// CHECK-NEXT: %[[VAL_4:.*]] = llvm.mlir.constant(20 : index) : i64
258256// CHECK-NEXT: %[[VAL_5:.*]] = llvm.mlir.constant(60 : index) : i64
259257// 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
261259// CHECK-NEXT: %[[VAL_8:.*]] = llvm.ptrtoint %[[VAL_7]] : !llvm.ptr to i64
262260// CHECK-NEXT: %[[VAL_9:.*]] = llvm.mlir.constant(8 : index) : i64
263261// CHECK-NEXT: %[[VAL_10:.*]] = llvm.add %[[VAL_8]], %[[VAL_9]] : i64
@@ -307,7 +305,7 @@ func.func private @cast(%arg0: memref<2xi32>) -> memref<?xi32> {
307305// CHECK-LABEL: llvm.func @load(
308306// CHECK-SAME: %[[VAL_0:.*]]: !llvm.ptr,
309307// 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
311309// CHECK-NEXT: %[[VAL_3:.*]] = llvm.load %[[VAL_2]] : !llvm.ptr
312310// CHECK-NEXT: llvm.return %[[VAL_3]] : f32
313311// CHECK-NEXT: }
@@ -326,7 +324,7 @@ func.func private @load(%arg0: memref<100xf32>, %index: index) -> f32 {
326324// CHECK-NEXT: %[[VAL_3:.*]] = llvm.mlir.constant(100 : index) : i64
327325// CHECK-NEXT: %[[VAL_4:.*]] = llvm.mul %[[VAL_1]], %[[VAL_3]] : i64
328326// 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
330328// CHECK-NEXT: %[[VAL_7:.*]] = llvm.load %[[VAL_6]] : !llvm.ptr
331329// CHECK-NEXT: llvm.return %[[VAL_7]] : f32
332330// CHECK-NEXT: }
@@ -345,7 +343,7 @@ func.func private @load_nd(%arg0: memref<100x100xf32>, %index0: index, %index1:
345343// CHECK-NEXT: %[[VAL_3:.*]] = llvm.mlir.constant(100 : index) : i64
346344// CHECK-NEXT: %[[VAL_4:.*]] = llvm.mul %[[VAL_1]], %[[VAL_3]] : i64
347345// 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
349347// CHECK-NEXT: %[[VAL_7:.*]] = llvm.load %[[VAL_6]] : !llvm.ptr
350348// CHECK-NEXT: llvm.return %[[VAL_7]] : f32
351349// CHECK-NEXT: }
@@ -434,7 +432,7 @@ func.func private @call(%arg0: memref<?xf32>, %arg1: index) -> memref<?xf32> {
434432// CHECK-SAME: %[[VAL_1:.*]]: i64) -> !llvm.ptr
435433// CHECK-NEXT: %[[VAL_2:.*]] = llvm.mlir.constant(4 : i64) : i64
436434// 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
438436// CHECK-NEXT: llvm.return %[[VAL_4]] : !llvm.ptr
439437// CHECK-NEXT: }
440438
@@ -448,7 +446,7 @@ func.func private @subindexop_memref(%arg0: memref<4x4xf32>, %arg1: index) -> me
448446// CHECK-LABEL: llvm.func @subindexop_memref_same_dim(
449447// CHECK-SAME: %[[VAL_0:.*]]: !llvm.ptr,
450448// 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
452450// CHECK-NEXT: llvm.return %[[VAL_2]] : !llvm.ptr
453451// CHECK-NEXT: }
454452
@@ -479,7 +477,7 @@ func.func private @subindexop_memref_struct(%arg0: memref<4x!llvm.struct<(f32)>>
479477// CHECK-SAME: %[[VAL_0:.*]]: !llvm.ptr) -> !llvm.ptr
480478// CHECK-NEXT: %[[VAL_1:.*]] = llvm.mlir.constant(0 : index) : i64
481479// 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
483481// CHECK-NEXT: llvm.return %[[VAL_3]] : !llvm.ptr
484482// CHECK-NEXT: }
485483
@@ -539,7 +537,7 @@ func.func private @ptr2memref(%arg0: !llvm.ptr) -> memref<?xf32> {
539537// CHECK-NEXT: %[[VAL_2:.*]] = llvm.extractvalue %[[VAL_0]][1] : !llvm.struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>
540538// CHECK-NEXT: %[[VAL_3:.*]] = llvm.mlir.constant(-1 : index) : i64
541539// 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
543541// CHECK-NEXT: %[[VAL_6:.*]] = llvm.load %[[VAL_5]] : !llvm.ptr
544542// CHECK-NEXT: llvm.return %[[VAL_6]] : i64
545543// CHECK-NEXT: }
0 commit comments