@@ -216,9 +216,7 @@ func.func @test_alloc_and_freemem_one() {
216216}
217217
218218// 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
222220// CHECK-NEXT: llvm.call @malloc(%[[N]])
223221// CHECK: llvm.call @free(%{{.*}})
224222// CHECK-NEXT: llvm.return
@@ -235,10 +233,8 @@ func.func @test_alloc_and_freemem_several() {
235233}
236234
237235// 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]])
242238// CHECK: llvm.call @free([[MALLOC]])
243239// CHECK: llvm.return
244240
@@ -251,9 +247,7 @@ func.func @test_with_shape(%ncols: index, %nrows: index) {
251247
252248// CHECK-LABEL: llvm.func @test_with_shape
253249// 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
257251// CHECK: %[[DIM1_SIZE:.*]] = llvm.mul %[[FOUR]], %[[NCOLS]] : i64
258252// CHECK: %[[TOTAL_SIZE:.*]] = llvm.mul %[[DIM1_SIZE]], %[[NROWS]] : i64
259253// CHECK: %[[MEM:.*]] = llvm.call @malloc(%[[TOTAL_SIZE]])
@@ -269,9 +263,7 @@ func.func @test_string_with_shape(%len: index, %nelems: index) {
269263
270264// CHECK-LABEL: llvm.func @test_string_with_shape
271265// 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
275267// CHECK: %[[LEN_SIZE:.*]] = llvm.mul %[[ONE]], %[[LEN]] : i64
276268// CHECK: %[[TOTAL_SIZE:.*]] = llvm.mul %[[LEN_SIZE]], %[[NELEMS]] : i64
277269// CHECK: %[[MEM:.*]] = llvm.call @malloc(%[[TOTAL_SIZE]])
@@ -1654,9 +1646,7 @@ func.func @embox0(%arg0: !fir.ref<!fir.array<100xi32>>) {
16541646// AMDGPU: %[[AA:.*]] = llvm.alloca %[[C1]] x !llvm.struct<(ptr, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}})> {alignment = 8 : i64} : (i32) -> !llvm.ptr<5>
16551647// AMDGPU: %[[ALLOCA:.*]] = llvm.addrspacecast %[[AA]] : !llvm.ptr<5> to !llvm.ptr
16561648// 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
16601650// CHECK: %[[DESC:.*]] = llvm.mlir.undef : !llvm.struct<(ptr, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}})>
16611651// CHECK: %[[DESC0:.*]] = llvm.insertvalue %[[I64_ELEM_SIZE]], %[[DESC]][1] : !llvm.struct<(ptr, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}})>
16621652// CHECK: %[[CFI_VERSION:.*]] = llvm.mlir.constant(20240719 : i32) : i32
@@ -1879,9 +1869,7 @@ func.func @xembox0(%arg0: !fir.ref<!fir.array<?xi32>>) {
18791869// AMDGPU: %[[ALLOCA:.*]] = llvm.addrspacecast %[[AA]] : !llvm.ptr<5> to !llvm.ptr
18801870// CHECK: %[[C0:.*]] = llvm.mlir.constant(0 : i64) : i64
18811871// 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
18851873// CHECK: %[[BOX0:.*]] = llvm.mlir.undef : !llvm.struct<(ptr, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, array<1 x array<3 x i64>>)>
18861874// 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>>)>
18871875// CHECK: %[[VERSION:.*]] = llvm.mlir.constant(20240719 : i32) : i32
@@ -1933,9 +1921,7 @@ func.func @xembox0_i32(%arg0: !fir.ref<!fir.array<?xi32>>) {
19331921// CHECK: %[[C0_I32:.*]] = llvm.mlir.constant(0 : i32) : i32
19341922// CHECK: %[[C0:.*]] = llvm.mlir.constant(0 : i64) : i64
19351923// 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
19391925// CHECK: %[[BOX0:.*]] = llvm.mlir.undef : !llvm.struct<(ptr, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, array<1 x array<3 x i64>>)>
19401926// 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>>)>
19411927// 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>>>) {
19881974
19891975// CHECK-LABEL: llvm.func @xembox1(%{{.*}}: !llvm.ptr) {
19901976// 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
19941978// CHECK: %{{.*}} = llvm.insertvalue %[[ELEM_LEN_I64]], %{{.*}}[1] : !llvm.struct<(ptr, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, array<1 x array<3 x i64>>)>
19951979// CHECK: %[[PREV_PTROFF:.*]] = llvm.mul %[[ELEM_LEN_I64]], %[[C0]] : i64
19961980
@@ -2042,9 +2026,7 @@ func.func private @_QPxb(!fir.box<!fir.array<?x?xf64>>)
20422026// AMDGPU: %[[AR:.*]] = llvm.alloca %[[ARR_SIZE]] x f64 {bindc_name = "arr"} : (i64) -> !llvm.ptr<5>
20432027// AMDGPU: %[[ARR:.*]] = llvm.addrspacecast %[[AR]] : !llvm.ptr<5> to !llvm.ptr
20442028// 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
20482030// CHECK: %[[BOX0:.*]] = llvm.mlir.undef : !llvm.struct<(ptr, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, array<2 x array<3 x i64>>)>
20492031// 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>>)>
20502032// CHECK: %[[VERSION:.*]] = llvm.mlir.constant(20240719 : i32) : i32
@@ -2126,9 +2108,7 @@ func.func private @_QPtest_dt_callee(%arg0: !fir.box<!fir.array<?xi32>>)
21262108// CHECK: %[[C10:.*]] = llvm.mlir.constant(10 : i64) : i64
21272109// CHECK: %[[C2:.*]] = llvm.mlir.constant(2 : i64) : i64
21282110// 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
21322112// CHECK: %[[BOX0:.*]] = llvm.mlir.undef : !llvm.struct<(ptr, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, array<1 x array<3 x i64>>)>
21332113// 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>>)>
21342114// CHECK: %[[VERSION:.*]] = llvm.mlir.constant(20240719 : i32) : i32
@@ -2146,9 +2126,7 @@ func.func private @_QPtest_dt_callee(%arg0: !fir.box<!fir.array<?xi32>>)
21462126// CHECK: %[[BOX6:.*]] = llvm.insertvalue %[[F18ADDENDUM_I8]], %[[BOX5]][6] : !llvm.struct<(ptr, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, array<1 x array<3 x i64>>)>
21472127// CHECK: %[[ZERO:.*]] = llvm.mlir.constant(0 : i64) : i64
21482128// 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
21522130// CHECK: %[[ADJUSTED_OFFSET:.*]] = llvm.sub %[[C1]], %[[ONE]] : i64
21532131// CHECK: %[[EXT_SUB:.*]] = llvm.sub %[[C10]], %[[C1]] : i64
21542132// 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>>) {
24292407//CHECK: %[[SIX:.*]] = llvm.mlir.constant(6 : index) : i64
24302408//CHECK: %[[EIGHTY:.*]] = llvm.mlir.constant(80 : index) : i64
24312409//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
24352411//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>>)>
24362412//CHECK: %[[EXTRA:.*]] = llvm.load %[[EXTRA_GEP]] : !llvm.ptr -> i8
24372413//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>}
25042480//CHECK: %[[COMPONENT_OFFSET_1:.*]] = llvm.mlir.constant(1 : i64) : i64
25052481//CHECK: %[[ELEM_COUNT:.*]] = llvm.mlir.constant(7 : i64) : i64
25062482//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
25102484//CHECK: %[[ELEM_SIZE:.*]] = llvm.mul %[[CHAR_SIZE]], %[[ELEM_COUNT]]
25112485//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>)>
25122486//CHECK: %[[EXTRA:.*]] = llvm.load %[[EXTRA_GEP]] : !llvm.ptr -> i8
0 commit comments