@@ -145,7 +145,7 @@ func.func @zero_test_ptr() {
145
145
return
146
146
}
147
147
148
- // CHECK: %{{.*}} = llvm.mlir.null : !llvm.ptr<f32>
148
+ // CHECK: %{{.*}} = llvm.mlir.zero : !llvm.ptr<f32>
149
149
// CHECK-NOT: fir.zero_bits
150
150
151
151
// -----
@@ -201,7 +201,7 @@ func.func @test_alloc_and_freemem_one() {
201
201
}
202
202
203
203
// CHECK-LABEL: llvm.func @test_alloc_and_freemem_one() {
204
- // CHECK-NEXT: %[[NULL:.*]] = llvm.mlir.null : !llvm.ptr<i32>
204
+ // CHECK-NEXT: %[[NULL:.*]] = llvm.mlir.zero : !llvm.ptr<i32>
205
205
// CHECK-NEXT: %[[GEP:.*]] = llvm.getelementptr %[[NULL]][1]
206
206
// CHECK-NEXT: %[[N:.*]] = llvm.ptrtoint %[[GEP]] : !llvm.ptr<i32> to i64
207
207
// CHECK-NEXT: llvm.call @malloc(%[[N]])
@@ -220,7 +220,7 @@ func.func @test_alloc_and_freemem_several() {
220
220
}
221
221
222
222
// CHECK-LABEL: llvm.func @test_alloc_and_freemem_several() {
223
- // CHECK: [[NULL:%.*]] = llvm.mlir.null : !llvm.ptr<array<100 x f32>>
223
+ // CHECK: [[NULL:%.*]] = llvm.mlir.zero : !llvm.ptr<array<100 x f32>>
224
224
// CHECK: [[PTR:%.*]] = llvm.getelementptr [[NULL]][{{.*}}] : (!llvm.ptr<array<100 x f32>>) -> !llvm.ptr<array<100 x f32>>
225
225
// CHECK: [[N:%.*]] = llvm.ptrtoint [[PTR]] : !llvm.ptr<array<100 x f32>> to i64
226
226
// CHECK: [[MALLOC:%.*]] = llvm.call @malloc([[N]])
@@ -238,7 +238,7 @@ func.func @test_with_shape(%ncols: index, %nrows: index) {
238
238
239
239
// CHECK-LABEL: llvm.func @test_with_shape
240
240
// CHECK-SAME: %[[NCOLS:.*]]: i64, %[[NROWS:.*]]: i64
241
- // CHECK: %[[NULL:.*]] = llvm.mlir.null : !llvm.ptr<f32>
241
+ // CHECK: %[[NULL:.*]] = llvm.mlir.zero : !llvm.ptr<f32>
242
242
// CHECK: %[[GEP:.*]] = llvm.getelementptr %[[NULL]][1]
243
243
// CHECK: %[[FOUR:.*]] = llvm.ptrtoint %[[GEP]] : !llvm.ptr<f32> to i64
244
244
// CHECK: %[[DIM1_SIZE:.*]] = llvm.mul %[[FOUR]], %[[NCOLS]] : i64
@@ -258,7 +258,7 @@ func.func @test_string_with_shape(%len: index, %nelems: index) {
258
258
259
259
// CHECK-LABEL: llvm.func @test_string_with_shape
260
260
// CHECK-SAME: %[[LEN:.*]]: i64, %[[NELEMS:.*]]: i64)
261
- // CHECK: %[[NULL:.*]] = llvm.mlir.null : !llvm.ptr<i8>
261
+ // CHECK: %[[NULL:.*]] = llvm.mlir.zero : !llvm.ptr<i8>
262
262
// CHECK: %[[GEP:.*]] = llvm.getelementptr %[[NULL]][1]
263
263
// CHECK: %[[ONE:.*]] = llvm.ptrtoint %[[GEP]] : !llvm.ptr<i8> to i64
264
264
// CHECK: %[[LEN_SIZE:.*]] = llvm.mul %[[ONE]], %[[LEN]] : i64
@@ -750,7 +750,7 @@ func.func @convert_from_i1(%arg0 : i1) {
750
750
751
751
// CHECK-LABEL: convert_from_i1(
752
752
// CHECK-SAME: %[[ARG0:.*]]: i1
753
- // CHECK: %{{.*}} = llvm.zext %[[ARG0]] : i1 to i32
753
+ // CHECK: %{{.*}} = llvm.zext %[[ARG0]] : i1 to i32
754
754
755
755
// -----
756
756
@@ -1403,7 +1403,7 @@ func.func @test_absent_i64() -> () {
1403
1403
}
1404
1404
1405
1405
// CHECK-LABEL: @test_absent_i64
1406
- // CHECK-NEXT: %{{.*}} = llvm.mlir.null : !llvm.ptr<i64>
1406
+ // CHECK-NEXT: %{{.*}} = llvm.mlir.zero : !llvm.ptr<i64>
1407
1407
// CHECK-NEXT: llvm.return
1408
1408
// CHECK-NEXT: }
1409
1409
@@ -1412,7 +1412,7 @@ func.func @test_absent_box() -> () {
1412
1412
return
1413
1413
}
1414
1414
// CHECK-LABEL: @test_absent_box
1415
- // CHECK-NEXT: %{{.*}} = llvm.mlir.null : !llvm.ptr<struct<(ptr<f32>, i64, i32, i8, i8, i8, i8, array<1 x array<3 x i64>>)>>
1415
+ // CHECK-NEXT: %{{.*}} = llvm.mlir.zero : !llvm.ptr<struct<(ptr<f32>, i64, i32, i8, i8, i8, i8, array<1 x array<3 x i64>>)>>
1416
1416
// CHECK-NEXT: llvm.return
1417
1417
// CHECK-NEXT: }
1418
1418
@@ -1442,7 +1442,7 @@ func.func @absent() -> i1 {
1442
1442
1443
1443
// CHECK-LABEL: @absent
1444
1444
// CHECK-SAME: () -> i1
1445
- // CHECK-NEXT: %[[ptr:.*]] = llvm.mlir.null : !llvm.ptr<i64>
1445
+ // CHECK-NEXT: %[[ptr:.*]] = llvm.mlir.zero : !llvm.ptr<i64>
1446
1446
// CHECK-NEXT: %[[ret_val:.*]] = llvm.call @is_present(%[[ptr]]) : (!llvm.ptr<i64>) -> i1
1447
1447
// CHECK-NEXT: llvm.return %[[ret_val]] : i1
1448
1448
@@ -1525,7 +1525,7 @@ func.func @box_tdesc(%arg0: !fir.box<!fir.type<dtdesc{a:i32}>>) {
1525
1525
1526
1526
// CHECK-LABEL: llvm.func @box_tdesc(
1527
1527
// CHECK-SAME: %[[ARG0:.*]]: !llvm.ptr<struct<(ptr<struct<"dtdesc", (i{{.*}})>>, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, ptr<i{{.*}}>, array<1 x i{{.*}}>)>>) {
1528
- // CHECK: %[[GEP:.*]] = llvm.getelementptr %[[ARG0]][0, 7] : (!llvm.ptr<struct<(ptr<struct<"dtdesc", (i{{.*}})>>, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, ptr<i{{.*}}>, array<1 x i{{.*}}>)>>) -> !llvm.ptr<ptr<i8>>
1528
+ // CHECK: %[[GEP:.*]] = llvm.getelementptr %[[ARG0]][0, 7] : (!llvm.ptr<struct<(ptr<struct<"dtdesc", (i{{.*}})>>, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, ptr<i{{.*}}>, array<1 x i{{.*}}>)>>) -> !llvm.ptr<ptr<i8>>
1529
1529
// CHECK: %[[LOAD:.*]] = llvm.load %[[GEP]] : !llvm.ptr<ptr<i{{.*}}>>
1530
1530
1531
1531
// -----
@@ -1547,7 +1547,7 @@ func.func @embox0(%arg0: !fir.ref<!fir.array<100xi32>>) {
1547
1547
// CHECK: %[[C1:.*]] = llvm.mlir.constant(1 : i32) : i32
1548
1548
// CHECK: %[[ALLOCA:.*]] = llvm.alloca %[[C1]] x !llvm.struct<(ptr<array<100 x i32>>, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}})> {alignment = 8 : i64} : (i32) -> !llvm.ptr<struct<(ptr<array<100 x i32>>, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}})>>
1549
1549
// CHECK: %[[TYPE_CODE:.*]] = llvm.mlir.constant(9 : i32) : i32
1550
- // CHECK: %[[NULL:.*]] = llvm.mlir.null : !llvm.ptr<i32>
1550
+ // CHECK: %[[NULL:.*]] = llvm.mlir.zero : !llvm.ptr<i32>
1551
1551
// CHECK: %[[GEP:.*]] = llvm.getelementptr %[[NULL]][1]
1552
1552
// CHECK: %[[I64_ELEM_SIZE:.*]] = llvm.ptrtoint %[[GEP]] : !llvm.ptr<i32> to i64
1553
1553
// CHECK: %[[DESC:.*]] = llvm.mlir.undef : !llvm.struct<(ptr<array<100 x i32>>, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}})>
@@ -1771,7 +1771,7 @@ func.func @xembox0(%arg0: !fir.ref<!fir.array<?xi32>>) {
1771
1771
// CHECK: %[[ALLOCA:.*]] = llvm.alloca %[[ALLOCA_SIZE]] x !llvm.struct<(ptr<i32>, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, array<1 x array<3 x i64>>)> {alignment = 8 : i64} : (i32) -> !llvm.ptr<struct<(ptr<i32>, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, array<1 x array<3 x i64>>)>>
1772
1772
// CHECK: %[[C0:.*]] = llvm.mlir.constant(0 : i64) : i64
1773
1773
// CHECK: %[[TYPE:.*]] = llvm.mlir.constant(9 : i32) : i32
1774
- // CHECK: %[[NULL:.*]] = llvm.mlir.null : !llvm.ptr<i32>
1774
+ // CHECK: %[[NULL:.*]] = llvm.mlir.zero : !llvm.ptr<i32>
1775
1775
// CHECK: %[[GEP:.*]] = llvm.getelementptr %[[NULL]][1]
1776
1776
// CHECK: %[[ELEM_LEN_I64:.*]] = llvm.ptrtoint %[[GEP]] : !llvm.ptr<i32> to i64
1777
1777
// CHECK: %[[BOX0:.*]] = llvm.mlir.undef : !llvm.struct<(ptr<i32>, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, array<1 x array<3 x i64>>)>
@@ -1820,7 +1820,7 @@ func.func @xembox1(%arg0: !fir.ref<!fir.array<?x!fir.char<1, 10>>>) {
1820
1820
1821
1821
// CHECK-LABEL: llvm.func @xembox1(%{{.*}}: !llvm.ptr<array<10 x i8>>) {
1822
1822
// CHECK: %[[C0:.*]] = llvm.mlir.constant(0 : i64) : i64
1823
- // CHECK: %[[NULL:.*]] = llvm.mlir.null : !llvm.ptr<array<10 x i8>>
1823
+ // CHECK: %[[NULL:.*]] = llvm.mlir.zero : !llvm.ptr<array<10 x i8>>
1824
1824
// CHECK: %[[GEP:.*]] = llvm.getelementptr %[[NULL]][1]
1825
1825
// CHECK: %[[ELEM_LEN_I64:.*]] = llvm.ptrtoint %[[GEP]] : !llvm.ptr<array<10 x i8>> to i64
1826
1826
// CHECK: %{{.*}} = llvm.insertvalue %[[ELEM_LEN_I64]], %{{.*}}[1] : !llvm.struct<(ptr<array<10 x i8>>, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, array<1 x array<3 x i64>>)>
@@ -1870,7 +1870,7 @@ func.func private @_QPxb(!fir.box<!fir.array<?x?xf64>>)
1870
1870
// CHECK: %[[ARR_SIZE:.*]] = llvm.mul %[[ARR_SIZE_TMP1]], %[[N2]] : i64
1871
1871
// CHECK: %[[ARR:.*]] = llvm.alloca %[[ARR_SIZE]] x f64 {bindc_name = "arr", in_type = !fir.array<?x?xf64>, operandSegmentSizes = array<i32: 0, 2>, uniq_name = "_QFsbEarr"} : (i64) -> !llvm.ptr<f64>
1872
1872
// CHECK: %[[TYPE_CODE:.*]] = llvm.mlir.constant(28 : i32) : i32
1873
- // CHECK: %[[NULL:.*]] = llvm.mlir.null : !llvm.ptr<f64>
1873
+ // CHECK: %[[NULL:.*]] = llvm.mlir.zero : !llvm.ptr<f64>
1874
1874
// CHECK: %[[GEP:.*]] = llvm.getelementptr %[[NULL]][1]
1875
1875
// CHECK: %[[ELEM_LEN_I64:.*]] = llvm.ptrtoint %[[GEP]] : !llvm.ptr<f64> to i64
1876
1876
// CHECK: %[[BOX0:.*]] = llvm.mlir.undef : !llvm.struct<(ptr<f64>, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, array<2 x array<3 x i64>>)>
@@ -1949,7 +1949,7 @@ func.func private @_QPtest_dt_callee(%arg0: !fir.box<!fir.array<?xi32>>)
1949
1949
// CHECK: %[[ALLOCA_SIZE_X:.*]] = llvm.mlir.constant(1 : i64) : i64
1950
1950
// CHECK: %[[X:.*]] = llvm.alloca %[[ALLOCA_SIZE_X]] x !llvm.array<20 x struct<"_QFtest_dt_sliceTt", (i32, i32)>> {bindc_name = "x", in_type = !fir.array<20x!fir.type<_QFtest_dt_sliceTt{i:i32,j:i32}>>, operandSegmentSizes = array<i32: 0, 0>, uniq_name = "_QFtest_dt_sliceEx"} : (i64) -> !llvm.ptr<array<20 x struct<"_QFtest_dt_sliceTt", (i32, i32)>>>
1951
1951
// CHECK: %[[TYPE_CODE:.*]] = llvm.mlir.constant(9 : i32) : i32
1952
- // CHECK: %[[NULL:.*]] = llvm.mlir.null : !llvm.ptr<i32>
1952
+ // CHECK: %[[NULL:.*]] = llvm.mlir.zero : !llvm.ptr<i32>
1953
1953
// CHECK: %[[GEP:.*]] = llvm.getelementptr %[[NULL]][1]
1954
1954
// CHECK: %[[ELEM_LEN_I64:.*]] = llvm.ptrtoint %[[GEP]] : !llvm.ptr<i32> to i64
1955
1955
// CHECK: %[[BOX0:.*]] = llvm.mlir.undef : !llvm.struct<(ptr<i32>, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, array<1 x array<3 x i64>>)>
@@ -1969,7 +1969,7 @@ func.func private @_QPtest_dt_callee(%arg0: !fir.box<!fir.array<?xi32>>)
1969
1969
// CHECK: %[[BOX6:.*]] = llvm.insertvalue %[[F18ADDENDUM_I8]], %[[BOX5]][6] : !llvm.struct<(ptr<i32>, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, i{{.*}}, array<1 x array<3 x i64>>)>
1970
1970
// CHECK: %[[ZERO:.*]] = llvm.mlir.constant(0 : i64) : i64
1971
1971
// CHECK: %[[ONE:.*]] = llvm.mlir.constant(1 : i64) : i64
1972
- // CHECK: %[[ELE_TYPE:.*]] = llvm.mlir.null : !llvm.ptr<struct<"_QFtest_dt_sliceTt", (i32, i32)>>
1972
+ // CHECK: %[[ELE_TYPE:.*]] = llvm.mlir.zero : !llvm.ptr<struct<"_QFtest_dt_sliceTt", (i32, i32)>>
1973
1973
// CHECK: %[[GEP_DTYPE_SIZE:.*]] = llvm.getelementptr %[[ELE_TYPE]][1] : (!llvm.ptr<struct<"_QFtest_dt_sliceTt", (i32, i32)>>) -> !llvm.ptr<struct<"_QFtest_dt_sliceTt", (i32, i32)>>
1974
1974
// CHECK: %[[PTRTOINT_DTYPE_SIZE:.*]] = llvm.ptrtoint %[[GEP_DTYPE_SIZE]] : !llvm.ptr<struct<"_QFtest_dt_sliceTt", (i32, i32)>> to i64
1975
1975
// CHECK: %[[ADJUSTED_OFFSET:.*]] = llvm.sub %[[C1]], %[[ONE]] : i64
@@ -2261,7 +2261,7 @@ func.func @test_rebox_1(%arg0: !fir.box<!fir.array<?x?xf32>>) {
2261
2261
//CHECK: %[[SIX:.*]] = llvm.mlir.constant(6 : index) : i64
2262
2262
//CHECK: %[[EIGHTY:.*]] = llvm.mlir.constant(80 : index) : i64
2263
2263
//CHECK: %[[FLOAT_TYPE:.*]] = llvm.mlir.constant(27 : i32) : i32
2264
- //CHECK: %[[NULL:.*]] = llvm.mlir.null : !llvm.ptr<f32>
2264
+ //CHECK: %[[NULL:.*]] = llvm.mlir.zero : !llvm.ptr<f32>
2265
2265
//CHECK: %[[GEP:.*]] = llvm.getelementptr %[[NULL]][1]
2266
2266
//CHECK: %[[ELEM_SIZE_I64:.*]] = llvm.ptrtoint %[[GEP]] : !llvm.ptr<f32> to i64
2267
2267
//CHECK: %[[RBOX:.*]] = llvm.mlir.undef : !llvm.struct<(ptr<f32>, i64, i32, i8, i8, i8, i8, array<1 x array<3 x i64>>)>
@@ -2334,7 +2334,7 @@ func.func @foo(%arg0: !fir.box<!fir.array<?x!fir.type<t{i:i32,c:!fir.char<1,10>}
2334
2334
//CHECK: %[[COMPONENT_OFFSET_1:.*]] = llvm.mlir.constant(1 : i64) : i64
2335
2335
//CHECK: %[[ELEM_COUNT:.*]] = llvm.mlir.constant(7 : i64) : i64
2336
2336
//CHECK: %[[TYPE_CHAR:.*]] = llvm.mlir.constant(40 : i32) : i32
2337
- //CHECK: %[[NULL:.*]] = llvm.mlir.null : !llvm.ptr<i8>
2337
+ //CHECK: %[[NULL:.*]] = llvm.mlir.zero : !llvm.ptr<i8>
2338
2338
//CHECK: %[[GEP:.*]] = llvm.getelementptr %[[NULL]][1]
2339
2339
//CHECK: %[[CHAR_SIZE:.*]] = llvm.ptrtoint %[[GEP]] : !llvm.ptr<i8> to i64
2340
2340
//CHECK: %[[ELEM_SIZE:.*]] = llvm.mul %[[CHAR_SIZE]], %[[ELEM_COUNT]]
0 commit comments