@@ -216,9 +216,7 @@ func.func @test_alloc_and_freemem_one() {
216
216
}
217
217
218
218
// CHECK-LABEL: llvm.func @test_alloc_and_freemem_one() {
219
- // CHECK-NEXT: %[[NULL:.*]] = llvm.mlir.zero : !llvm.ptr
220
- // CHECK-NEXT: %[[GEP:.*]] = llvm.getelementptr %[[NULL]][1]
221
- // CHECK-NEXT: %[[N:.*]] = llvm.ptrtoint %[[GEP]] : !llvm.ptr to i64
219
+ // CHECK: %[[N:.*]] = llvm.mlir.constant(4 : i64) : i64
222
220
// CHECK-NEXT: llvm.call @malloc(%[[N]])
223
221
// CHECK: llvm.call @free(%{{.*}})
224
222
// CHECK-NEXT: llvm.return
@@ -235,10 +233,8 @@ func.func @test_alloc_and_freemem_several() {
235
233
}
236
234
237
235
// CHECK-LABEL: llvm.func @test_alloc_and_freemem_several() {
238
- // CHECK: [[NULL:%.*]] = llvm.mlir.zero : !llvm.ptr
239
- // CHECK: [[PTR:%.*]] = llvm.getelementptr [[NULL]][{{.*}}] : (!llvm.ptr) -> !llvm.ptr, !llvm.array<100 x f32>
240
- // CHECK: [[N:%.*]] = llvm.ptrtoint [[PTR]] : !llvm.ptr to i64
241
- // CHECK: [[MALLOC:%.*]] = llvm.call @malloc([[N]])
236
+ // CHECK: %[[N:.*]] = llvm.mlir.constant(400 : i64) : i64
237
+ // CHECK: [[MALLOC:%.*]] = llvm.call @malloc(%[[N]])
242
238
// CHECK: llvm.call @free([[MALLOC]])
243
239
// CHECK: llvm.return
244
240
@@ -251,9 +247,7 @@ func.func @test_with_shape(%ncols: index, %nrows: index) {
251
247
252
248
// CHECK-LABEL: llvm.func @test_with_shape
253
249
// CHECK-SAME: %[[NCOLS:.*]]: i64, %[[NROWS:.*]]: i64
254
- // CHECK: %[[NULL:.*]] = llvm.mlir.zero : !llvm.ptr
255
- // CHECK: %[[GEP:.*]] = llvm.getelementptr %[[NULL]][1]
256
- // CHECK: %[[FOUR:.*]] = llvm.ptrtoint %[[GEP]] : !llvm.ptr to i64
250
+ // CHECK: %[[FOUR:.*]] = llvm.mlir.constant(4 : i64) : i64
257
251
// CHECK: %[[DIM1_SIZE:.*]] = llvm.mul %[[FOUR]], %[[NCOLS]] : i64
258
252
// CHECK: %[[TOTAL_SIZE:.*]] = llvm.mul %[[DIM1_SIZE]], %[[NROWS]] : i64
259
253
// CHECK: %[[MEM:.*]] = llvm.call @malloc(%[[TOTAL_SIZE]])
@@ -269,9 +263,7 @@ func.func @test_string_with_shape(%len: index, %nelems: index) {
269
263
270
264
// CHECK-LABEL: llvm.func @test_string_with_shape
271
265
// CHECK-SAME: %[[LEN:.*]]: i64, %[[NELEMS:.*]]: i64)
272
- // CHECK: %[[NULL:.*]] = llvm.mlir.zero : !llvm.ptr
273
- // CHECK: %[[GEP:.*]] = llvm.getelementptr %[[NULL]][1]
274
- // CHECK: %[[ONE:.*]] = llvm.ptrtoint %[[GEP]] : !llvm.ptr to i64
266
+ // CHECK: %[[ONE:.*]] = llvm.mlir.constant(1 : i64) : i64
275
267
// CHECK: %[[LEN_SIZE:.*]] = llvm.mul %[[ONE]], %[[LEN]] : i64
276
268
// CHECK: %[[TOTAL_SIZE:.*]] = llvm.mul %[[LEN_SIZE]], %[[NELEMS]] : i64
277
269
// CHECK: %[[MEM:.*]] = llvm.call @malloc(%[[TOTAL_SIZE]])
@@ -1654,9 +1646,7 @@ func.func @embox0(%arg0: !fir.ref<!fir.array<100xi32>>) {
1654
1646
// AMDGPU: %[[AA:.*]] = llvm.alloca %[[C1]] x !llvm.struct<(ptr, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}})> {alignment = 8 : i64} : (i32) -> !llvm.ptr<5>
1655
1647
// AMDGPU: %[[ALLOCA:.*]] = llvm.addrspacecast %[[AA]] : !llvm.ptr<5> to !llvm.ptr
1656
1648
// CHECK: %[[TYPE_CODE:.*]] = llvm.mlir.constant(9 : i32) : i32
1657
- // CHECK: %[[NULL:.*]] = llvm.mlir.zero : !llvm.ptr
1658
- // CHECK: %[[GEP:.*]] = llvm.getelementptr %[[NULL]][1]
1659
- // CHECK: %[[I64_ELEM_SIZE:.*]] = llvm.ptrtoint %[[GEP]] : !llvm.ptr to i64
1649
+ // CHECK: %[[I64_ELEM_SIZE:.*]] = llvm.mlir.constant(4 : i64) : i64
1660
1650
// CHECK: %[[DESC:.*]] = llvm.mlir.undef : !llvm.struct<(ptr, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}})>
1661
1651
// CHECK: %[[DESC0:.*]] = llvm.insertvalue %[[I64_ELEM_SIZE]], %[[DESC]][1] : !llvm.struct<(ptr, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}})>
1662
1652
// CHECK: %[[CFI_VERSION:.*]] = llvm.mlir.constant(20240719 : i32) : i32
@@ -1879,9 +1869,7 @@ func.func @xembox0(%arg0: !fir.ref<!fir.array<?xi32>>) {
1879
1869
// AMDGPU: %[[ALLOCA:.*]] = llvm.addrspacecast %[[AA]] : !llvm.ptr<5> to !llvm.ptr
1880
1870
// CHECK: %[[C0:.*]] = llvm.mlir.constant(0 : i64) : i64
1881
1871
// CHECK: %[[TYPE:.*]] = llvm.mlir.constant(9 : i32) : i32
1882
- // CHECK: %[[NULL:.*]] = llvm.mlir.zero : !llvm.ptr
1883
- // CHECK: %[[GEP:.*]] = llvm.getelementptr %[[NULL]][1]
1884
- // CHECK: %[[ELEM_LEN_I64:.*]] = llvm.ptrtoint %[[GEP]] : !llvm.ptr to i64
1872
+ // CHECK: %[[ELEM_LEN_I64:.*]] = llvm.mlir.constant(4 : i64) : i64
1885
1873
// CHECK: %[[BOX0:.*]] = llvm.mlir.undef : !llvm.struct<(ptr, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, array<1 x array<3 x i64>>)>
1886
1874
// CHECK: %[[BOX1:.*]] = llvm.insertvalue %[[ELEM_LEN_I64]], %[[BOX0]][1] : !llvm.struct<(ptr, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, array<1 x array<3 x i64>>)>
1887
1875
// CHECK: %[[VERSION:.*]] = llvm.mlir.constant(20240719 : i32) : i32
@@ -1933,9 +1921,7 @@ func.func @xembox0_i32(%arg0: !fir.ref<!fir.array<?xi32>>) {
1933
1921
// CHECK: %[[C0_I32:.*]] = llvm.mlir.constant(0 : i32) : i32
1934
1922
// CHECK: %[[C0:.*]] = llvm.mlir.constant(0 : i64) : i64
1935
1923
// CHECK: %[[TYPE:.*]] = llvm.mlir.constant(9 : i32) : i32
1936
- // CHECK: %[[NULL:.*]] = llvm.mlir.zero : !llvm.ptr
1937
- // CHECK: %[[GEP:.*]] = llvm.getelementptr %[[NULL]][1]
1938
- // CHECK: %[[ELEM_LEN_I64:.*]] = llvm.ptrtoint %[[GEP]] : !llvm.ptr to i64
1924
+ // CHECK: %[[ELEM_LEN_I64:.*]] = llvm.mlir.constant(4 : i64) : i64
1939
1925
// CHECK: %[[BOX0:.*]] = llvm.mlir.undef : !llvm.struct<(ptr, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, array<1 x array<3 x i64>>)>
1940
1926
// CHECK: %[[BOX1:.*]] = llvm.insertvalue %[[ELEM_LEN_I64]], %[[BOX0]][1] : !llvm.struct<(ptr, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, array<1 x array<3 x i64>>)>
1941
1927
// CHECK: %[[VERSION:.*]] = llvm.mlir.constant(20240719 : i32) : i32
@@ -1988,9 +1974,7 @@ func.func @xembox1(%arg0: !fir.ref<!fir.array<?x!fir.char<1, 10>>>) {
1988
1974
1989
1975
// CHECK-LABEL: llvm.func @xembox1(%{{.*}}: !llvm.ptr) {
1990
1976
// CHECK: %[[C0:.*]] = llvm.mlir.constant(0 : i64) : i64
1991
- // CHECK: %[[NULL:.*]] = llvm.mlir.zero : !llvm.ptr
1992
- // CHECK: %[[GEP:.*]] = llvm.getelementptr %[[NULL]][1]
1993
- // CHECK: %[[ELEM_LEN_I64:.*]] = llvm.ptrtoint %[[GEP]] : !llvm.ptr to i64
1977
+ // CHECK: %[[ELEM_LEN_I64:.*]] = llvm.mlir.constant(10 : i64) : i64
1994
1978
// CHECK: %{{.*}} = llvm.insertvalue %[[ELEM_LEN_I64]], %{{.*}}[1] : !llvm.struct<(ptr, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, array<1 x array<3 x i64>>)>
1995
1979
// CHECK: %[[PREV_PTROFF:.*]] = llvm.mul %[[ELEM_LEN_I64]], %[[C0]] : i64
1996
1980
@@ -2042,9 +2026,7 @@ func.func private @_QPxb(!fir.box<!fir.array<?x?xf64>>)
2042
2026
// AMDGPU: %[[AR:.*]] = llvm.alloca %[[ARR_SIZE]] x f64 {bindc_name = "arr"} : (i64) -> !llvm.ptr<5>
2043
2027
// AMDGPU: %[[ARR:.*]] = llvm.addrspacecast %[[AR]] : !llvm.ptr<5> to !llvm.ptr
2044
2028
// CHECK: %[[TYPE_CODE:.*]] = llvm.mlir.constant(28 : i32) : i32
2045
- // CHECK: %[[NULL:.*]] = llvm.mlir.zero : !llvm.ptr
2046
- // CHECK: %[[GEP:.*]] = llvm.getelementptr %[[NULL]][1]
2047
- // CHECK: %[[ELEM_LEN_I64:.*]] = llvm.ptrtoint %[[GEP]] : !llvm.ptr to i64
2029
+ // CHECK: %[[ELEM_LEN_I64:.*]] = llvm.mlir.constant(8 : i64) : i64
2048
2030
// CHECK: %[[BOX0:.*]] = llvm.mlir.undef : !llvm.struct<(ptr, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, array<2 x array<3 x i64>>)>
2049
2031
// CHECK: %[[BOX1:.*]] = llvm.insertvalue %[[ELEM_LEN_I64]], %[[BOX0]][1] : !llvm.struct<(ptr, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, array<2 x array<3 x i64>>)>
2050
2032
// CHECK: %[[VERSION:.*]] = llvm.mlir.constant(20240719 : i32) : i32
@@ -2126,9 +2108,7 @@ func.func private @_QPtest_dt_callee(%arg0: !fir.box<!fir.array<?xi32>>)
2126
2108
// CHECK: %[[C10:.*]] = llvm.mlir.constant(10 : i64) : i64
2127
2109
// CHECK: %[[C2:.*]] = llvm.mlir.constant(2 : i64) : i64
2128
2110
// CHECK: %[[TYPE_CODE:.*]] = llvm.mlir.constant(9 : i32) : i32
2129
- // CHECK: %[[NULL:.*]] = llvm.mlir.zero : !llvm.ptr
2130
- // CHECK: %[[GEP:.*]] = llvm.getelementptr %[[NULL]][1]
2131
- // CHECK: %[[ELEM_LEN_I64:.*]] = llvm.ptrtoint %[[GEP]] : !llvm.ptr to i64
2111
+ // CHECK: %[[ELEM_LEN_I64:.*]] = llvm.mlir.constant(4 : i64) : i64
2132
2112
// CHECK: %[[BOX0:.*]] = llvm.mlir.undef : !llvm.struct<(ptr, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, array<1 x array<3 x i64>>)>
2133
2113
// CHECK: %[[BOX1:.*]] = llvm.insertvalue %[[ELEM_LEN_I64]], %[[BOX0]][1] : !llvm.struct<(ptr, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, array<1 x array<3 x i64>>)>
2134
2114
// CHECK: %[[VERSION:.*]] = llvm.mlir.constant(20240719 : i32) : i32
@@ -2146,9 +2126,7 @@ func.func private @_QPtest_dt_callee(%arg0: !fir.box<!fir.array<?xi32>>)
2146
2126
// CHECK: %[[BOX6:.*]] = llvm.insertvalue %[[F18ADDENDUM_I8]], %[[BOX5]][6] : !llvm.struct<(ptr, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, array<1 x array<3 x i64>>)>
2147
2127
// CHECK: %[[ZERO:.*]] = llvm.mlir.constant(0 : i64) : i64
2148
2128
// CHECK: %[[ONE:.*]] = llvm.mlir.constant(1 : i64) : i64
2149
- // CHECK: %[[ELE_TYPE:.*]] = llvm.mlir.zero : !llvm.ptr
2150
- // CHECK: %[[GEP_DTYPE_SIZE:.*]] = llvm.getelementptr %[[ELE_TYPE]][1] : (!llvm.ptr) -> !llvm.ptr, !llvm.struct<"_QFtest_dt_sliceTt", (i32, i32)>
2151
- // CHECK: %[[PTRTOINT_DTYPE_SIZE:.*]] = llvm.ptrtoint %[[GEP_DTYPE_SIZE]] : !llvm.ptr to i64
2129
+ // CHECK: %[[PTRTOINT_DTYPE_SIZE:.*]] = llvm.mlir.constant(8 : i64) : i64
2152
2130
// CHECK: %[[ADJUSTED_OFFSET:.*]] = llvm.sub %[[C1]], %[[ONE]] : i64
2153
2131
// CHECK: %[[EXT_SUB:.*]] = llvm.sub %[[C10]], %[[C1]] : i64
2154
2132
// CHECK: %[[EXT_ADD:.*]] = llvm.add %[[EXT_SUB]], %[[C2]] : i64
@@ -2429,9 +2407,7 @@ func.func @test_rebox_1(%arg0: !fir.box<!fir.array<?x?xf32>>) {
2429
2407
//CHECK: %[[SIX:.*]] = llvm.mlir.constant(6 : index) : i64
2430
2408
//CHECK: %[[EIGHTY:.*]] = llvm.mlir.constant(80 : index) : i64
2431
2409
//CHECK: %[[FLOAT_TYPE:.*]] = llvm.mlir.constant(27 : i32) : i32
2432
- //CHECK: %[[NULL:.*]] = llvm.mlir.zero : !llvm.ptr
2433
- //CHECK: %[[GEP:.*]] = llvm.getelementptr %[[NULL]][1]
2434
- //CHECK: %[[ELEM_SIZE_I64:.*]] = llvm.ptrtoint %[[GEP]] : !llvm.ptr to i64
2410
+ //CHECK: %[[ELEM_SIZE_I64:.*]] = llvm.mlir.constant(4 : i64) : i64
2435
2411
//CHECK: %[[EXTRA_GEP:.*]] = llvm.getelementptr %[[ARG0]][0, 6] : (!llvm.ptr) -> !llvm.ptr, !llvm.struct<(ptr, i64, i32, i8, i8, i8, i8, array<2 x array<3 x i64>>)>
2436
2412
//CHECK: %[[EXTRA:.*]] = llvm.load %[[EXTRA_GEP]] : !llvm.ptr -> i8
2437
2413
//CHECK: %[[RBOX:.*]] = llvm.mlir.undef : !llvm.struct<(ptr, i64, i32, i8, i8, i8, i8, array<1 x array<3 x i64>>)>
@@ -2504,9 +2480,7 @@ func.func @foo(%arg0: !fir.box<!fir.array<?x!fir.type<t{i:i32,c:!fir.char<1,10>}
2504
2480
//CHECK: %[[COMPONENT_OFFSET_1:.*]] = llvm.mlir.constant(1 : i64) : i64
2505
2481
//CHECK: %[[ELEM_COUNT:.*]] = llvm.mlir.constant(7 : i64) : i64
2506
2482
//CHECK: %[[TYPE_CHAR:.*]] = llvm.mlir.constant(40 : i32) : i32
2507
- //CHECK: %[[NULL:.*]] = llvm.mlir.zero : !llvm.ptr
2508
- //CHECK: %[[GEP:.*]] = llvm.getelementptr %[[NULL]][1]
2509
- //CHECK: %[[CHAR_SIZE:.*]] = llvm.ptrtoint %[[GEP]] : !llvm.ptr to i64
2483
+ //CHECK: %[[CHAR_SIZE:.*]] = llvm.mlir.constant(1 : i64) : i64
2510
2484
//CHECK: %[[ELEM_SIZE:.*]] = llvm.mul %[[CHAR_SIZE]], %[[ELEM_COUNT]]
2511
2485
//CHECK: %[[EXTRA_GEP:.*]] = llvm.getelementptr %[[ARG0]][0, 6] : (!llvm.ptr) -> !llvm.ptr, !llvm.struct<(ptr, i64, i32, i8, i8, i8, i8, array<1 x array<3 x i64>>, ptr, array<1 x i64>)>
2512
2486
//CHECK: %[[EXTRA:.*]] = llvm.load %[[EXTRA_GEP]] : !llvm.ptr -> i8
0 commit comments