@@ -19,14 +19,14 @@ func.func @alloca_scalars_nonchar() -> !fir.ref<i32> {
19
19
}
20
20
21
21
// CHECK-LABEL: define ptr @allocmem_scalar_nonchar(
22
- // CHECK: call ptr @malloc(i64 ptrtoint (ptr getelementptr (i32, ptr null, i32 1) to i64) )
22
+ // CHECK: call ptr @malloc(i64 4 )
23
23
func.func @allocmem_scalar_nonchar() -> !fir.heap<i32> {
24
24
%1 = fir.allocmem i32
25
25
return %1 : !fir.heap<i32>
26
26
}
27
27
28
28
// CHECK-LABEL: define ptr @allocmem_scalars_nonchar(
29
- // CHECK: call ptr @malloc(i64 mul (i64 ptrtoint (ptr getelementptr (i32, ptr null, i32 1) to i64), i64 100) )
29
+ // CHECK: call ptr @malloc(i64 400 )
30
30
func.func @allocmem_scalars_nonchar() -> !fir.heap<i32> {
31
31
%0 = arith.constant 100 : index
32
32
%1 = fir.allocmem i32 , %0
@@ -48,14 +48,14 @@ func.func @alloca_scalar_char_kind() -> !fir.ref<!fir.char<2,10>> {
48
48
}
49
49
50
50
// CHECK-LABEL: define ptr @allocmem_scalar_char(
51
- // CHECK: call ptr @malloc(i64 ptrtoint (ptr getelementptr ([10 x i8], ptr null, i32 1) to i64) )
51
+ // CHECK: call ptr @malloc(i64 10 )
52
52
func.func @allocmem_scalar_char() -> !fir.heap<!fir.char<1,10>> {
53
53
%1 = fir.allocmem !fir.char<1,10>
54
54
return %1 : !fir.heap<!fir.char<1,10>>
55
55
}
56
56
57
57
// CHECK-LABEL: define ptr @allocmem_scalar_char_kind(
58
- // CHECK: call ptr @malloc(i64 ptrtoint (ptr getelementptr ([10 x i16], ptr null, i32 1) to i64) )
58
+ // CHECK: call ptr @malloc(i64 20 )
59
59
func.func @allocmem_scalar_char_kind() -> !fir.heap<!fir.char<2,10>> {
60
60
%1 = fir.allocmem !fir.char<2,10>
61
61
return %1 : !fir.heap<!fir.char<2,10>>
@@ -82,7 +82,7 @@ func.func @alloca_scalar_dynchar_kind(%l : i32) -> !fir.ref<!fir.char<2,?>> {
82
82
// CHECK-LABEL: define ptr @allocmem_scalar_dynchar(
83
83
// CHECK-SAME: i32 %[[len:.*]])
84
84
// CHECK: %[[mul1:.*]] = sext i32 %[[len]] to i64
85
- // CHECK: %[[mul2:.*]] = mul i64 ptrtoint (ptr getelementptr (i8, ptr null, i32 1) to i64) , %[[mul1]]
85
+ // CHECK: %[[mul2:.*]] = mul i64 1 , %[[mul1]]
86
86
// CHECK: call ptr @malloc(i64 %[[mul2]])
87
87
func.func @allocmem_scalar_dynchar(%l : i32) -> !fir.heap<!fir.char<1,?>> {
88
88
%1 = fir.allocmem !fir.char<1,?>(%l : i32)
@@ -92,7 +92,7 @@ func.func @allocmem_scalar_dynchar(%l : i32) -> !fir.heap<!fir.char<1,?>> {
92
92
// CHECK-LABEL: define ptr @allocmem_scalar_dynchar_kind(
93
93
// CHECK-SAME: i32 %[[len:.*]])
94
94
// CHECK: %[[mul1:.*]] = sext i32 %[[len]] to i64
95
- // CHECK: %[[mul2:.*]] = mul i64 ptrtoint (ptr getelementptr (i16, ptr null, i32 1) to i64) , %[[mul1]]
95
+ // CHECK: %[[mul2:.*]] = mul i64 2 , %[[mul1]]
96
96
// CHECK: call ptr @malloc(i64 %[[mul2]])
97
97
func.func @allocmem_scalar_dynchar_kind(%l : i32) -> !fir.heap<!fir.char<2,?>>{
98
98
%1 = fir.allocmem !fir.char<2,?>(%l : i32)
@@ -131,14 +131,14 @@ func.func @alloca_array_of_dynchar(%l: i32) -> !fir.ref<!fir.array<3x3x!fir.char
131
131
}
132
132
133
133
// CHECK-LABEL: define ptr @allocmem_array_of_nonchar(
134
- // CHECK: call ptr @malloc(i64 ptrtoint (ptr getelementptr ([3 x [3 x i32]], ptr null, i32 1) to i64) )
134
+ // CHECK: call ptr @malloc(i64 36 )
135
135
func.func @allocmem_array_of_nonchar() -> !fir.heap<!fir.array<3x3xi32>> {
136
136
%1 = fir.allocmem !fir.array<3x3xi32>
137
137
return %1 : !fir.heap<!fir.array<3x3xi32>>
138
138
}
139
139
140
140
// CHECK-LABEL: define ptr @allocmem_array_of_char(
141
- // CHECK: call ptr @malloc(i64 ptrtoint (ptr getelementptr ([3 x [3 x [10 x i8]]], ptr null, i32 1) to i64) )
141
+ // CHECK: call ptr @malloc(i64 90 )
142
142
func.func @allocmem_array_of_char() -> !fir.heap<!fir.array<3x3x!fir.char<1,10>>> {
143
143
%1 = fir.allocmem !fir.array<3x3x!fir.char<1,10>>
144
144
return %1 : !fir.heap<!fir.array<3x3x!fir.char<1,10>>>
@@ -147,7 +147,7 @@ func.func @allocmem_array_of_char() -> !fir.heap<!fir.array<3x3x!fir.char<1,10>>
147
147
// CHECK-LABEL: define ptr @allocmem_array_of_dynchar(
148
148
// CHECK-SAME: i32 %[[len:.*]])
149
149
// CHECK: %[[mul1:.*]] = sext i32 %[[len]] to i64
150
- // CHECK: %[[mul2:.*]] = mul i64 mul (i64 ptrtoint (ptr getelementptr (i8, ptr null, i32 1) to i64), i64 9) , %[[mul1]]
150
+ // CHECK: %[[mul2:.*]] = mul i64 9 , %[[mul1]]
151
151
// CHECK: call ptr @malloc(i64 %[[mul2]])
152
152
func.func @allocmem_array_of_dynchar(%l: i32) -> !fir.heap<!fir.array<3x3x!fir.char<1,?>>> {
153
153
%1 = fir.allocmem !fir.array<3x3x!fir.char<1,?>>(%l : i32)
@@ -175,7 +175,7 @@ func.func @alloca_dynarray_of_nonchar2(%e: index) -> !fir.ref<!fir.array<?x?xi32
175
175
176
176
// CHECK-LABEL: define ptr @allocmem_dynarray_of_nonchar(
177
177
// CHECK-SAME: i64 %[[extent:.*]])
178
- // CHECK: %[[prod1:.*]] = mul i64 ptrtoint (ptr getelementptr ([3 x i32], ptr null, i32 1) to i64) , %[[extent]]
178
+ // CHECK: %[[prod1:.*]] = mul i64 12 , %[[extent]]
179
179
// CHECK: call ptr @malloc(i64 %[[prod1]])
180
180
func.func @allocmem_dynarray_of_nonchar(%e: index) -> !fir.heap<!fir.array<3x?xi32>> {
181
181
%1 = fir.allocmem !fir.array<3x?xi32>, %e
@@ -184,7 +184,7 @@ func.func @allocmem_dynarray_of_nonchar(%e: index) -> !fir.heap<!fir.array<3x?xi
184
184
185
185
// CHECK-LABEL: define ptr @allocmem_dynarray_of_nonchar2(
186
186
// CHECK-SAME: i64 %[[extent:.*]])
187
- // CHECK: %[[prod1:.*]] = mul i64 ptrtoint (ptr getelementptr (i32, ptr null, i32 1) to i64) , %[[extent]]
187
+ // CHECK: %[[prod1:.*]] = mul i64 4 , %[[extent]]
188
188
// CHECK: %[[prod2:.*]] = mul i64 %[[prod1]], %[[extent]]
189
189
// CHECK: call ptr @malloc(i64 %[[prod2]])
190
190
func.func @allocmem_dynarray_of_nonchar2(%e: index) -> !fir.heap<!fir.array<?x?xi32>> {
@@ -213,7 +213,7 @@ func.func @alloca_dynarray_of_char2(%e : index) -> !fir.ref<!fir.array<?x?x!fir.
213
213
214
214
// CHECK-LABEL: define ptr @allocmem_dynarray_of_char(
215
215
// CHECK-SAME: i64 %[[extent:.*]])
216
- // CHECK: %[[prod1:.*]] = mul i64 ptrtoint (ptr getelementptr ([3 x [10 x i16]], ptr null, i32 1) to i64) , %[[extent]]
216
+ // CHECK: %[[prod1:.*]] = mul i64 60 , %[[extent]]
217
217
// CHECK: call ptr @malloc(i64 %[[prod1]])
218
218
func.func @allocmem_dynarray_of_char(%e : index) -> !fir.heap<!fir.array<3x?x!fir.char<2,10>>> {
219
219
%1 = fir.allocmem !fir.array<3x?x!fir.char<2,10>>, %e
@@ -222,7 +222,7 @@ func.func @allocmem_dynarray_of_char(%e : index) -> !fir.heap<!fir.array<3x?x!fi
222
222
223
223
// CHECK-LABEL: define ptr @allocmem_dynarray_of_char2(
224
224
// CHECK-SAME: i64 %[[extent:.*]])
225
- // CHECK: %[[prod1:.*]] = mul i64 ptrtoint (ptr getelementptr ([10 x i16], ptr null, i32 1) to i64) , %[[extent]]
225
+ // CHECK: %[[prod1:.*]] = mul i64 20 , %[[extent]]
226
226
// CHECK: %[[prod2:.*]] = mul i64 %[[prod1]], %[[extent]]
227
227
// CHECK: call ptr @malloc(i64 %[[prod2]])
228
228
func.func @allocmem_dynarray_of_char2(%e : index) -> !fir.heap<!fir.array<?x?x!fir.char<2,10>>> {
@@ -255,7 +255,7 @@ func.func @alloca_dynarray_of_dynchar2(%l: i32, %e : index) -> !fir.ref<!fir.arr
255
255
// CHECK-LABEL: define ptr @allocmem_dynarray_of_dynchar(
256
256
// CHECK-SAME: i32 %[[len:.*]], i64 %[[extent:.*]])
257
257
// CHECK: %[[prod1:.*]] = sext i32 %[[len]] to i64
258
- // CHECK: %[[prod2:.*]] = mul i64 mul (i64 ptrtoint (ptr getelementptr (i16, ptr null, i32 1) to i64), i64 3) , %[[prod1]]
258
+ // CHECK: %[[prod2:.*]] = mul i64 6 , %[[prod1]]
259
259
// CHECK: %[[prod3:.*]] = mul i64 %[[prod2]], %[[extent]]
260
260
// CHECK: call ptr @malloc(i64 %[[prod3]])
261
261
func.func @allocmem_dynarray_of_dynchar(%l: i32, %e : index) -> !fir.heap<!fir.array<3x?x!fir.char<2,?>>> {
@@ -266,7 +266,7 @@ func.func @allocmem_dynarray_of_dynchar(%l: i32, %e : index) -> !fir.heap<!fir.a
266
266
// CHECK-LABEL: define ptr @allocmem_dynarray_of_dynchar2(
267
267
// CHECK-SAME: i32 %[[len:.*]], i64 %[[extent:.*]])
268
268
// CHECK: %[[a:.*]] = sext i32 %[[len]] to i64
269
- // CHECK: %[[prod1:.*]] = mul i64 ptrtoint (ptr getelementptr (i16, ptr null, i32 1) to i64) , %[[a]]
269
+ // CHECK: %[[prod1:.*]] = mul i64 2 , %[[a]]
270
270
// CHECK: %[[prod2:.*]] = mul i64 %[[prod1]], %[[extent]]
271
271
// CHECK: %[[prod3:.*]] = mul i64 %[[prod2]], %[[extent]]
272
272
// CHECK: call ptr @malloc(i64 %[[prod3]])
@@ -306,7 +306,7 @@ func.func @alloca_array_with_holes_dynchar(%arg0: index, %arg1: index) -> !fir.r
306
306
307
307
// CHECK-LABEL: define ptr @allocmem_array_with_holes_nonchar(
308
308
// CHECK-SAME: i64 %[[e1:.*]], i64 %[[e2:.*]])
309
- // CHECK: %[[a:.*]] = mul i64 mul (i64 ptrtoint{{.*}} 15) , %[[e1]]
309
+ // CHECK: %[[a:.*]] = mul i64 240 , %[[e1]]
310
310
// CHECK: %[[b:.*]] = mul i64 %3, %[[e2]]
311
311
// CHECK: call ptr @malloc(i64 %[[b]])
312
312
func.func @allocmem_array_with_holes_nonchar(%0 : index, %1 : index) -> !fir.heap<!fir.array<4x?x3x?x5xi32>> {
@@ -316,7 +316,7 @@ func.func @allocmem_array_with_holes_nonchar(%0 : index, %1 : index) -> !fir.hea
316
316
317
317
// CHECK-LABEL: define ptr @allocmem_array_with_holes_char(
318
318
// CHECK-SAME: i64 %[[e:.*]])
319
- // CHECK: %[[mul:.*]] = mul i64 mul (i64 ptrtoint (ptr getelementptr ([3 x [10 x i16]], ptr null, i32 1) to i64), i64 4) , %[[e]]
319
+ // CHECK: %[[mul:.*]] = mul i64 240 , %[[e]]
320
320
// CHECK: call ptr @malloc(i64 %[[mul]])
321
321
func.func @allocmem_array_with_holes_char(%e: index) -> !fir.heap<!fir.array<3x?x4x!fir.char<2,10>>> {
322
322
%1 = fir.allocmem !fir.array<3x?x4x!fir.char<2,10>>, %e
@@ -325,7 +325,7 @@ func.func @allocmem_array_with_holes_char(%e: index) -> !fir.heap<!fir.array<3x?
325
325
326
326
// CHECK-LABEL: define ptr @allocmem_array_with_holes_dynchar(
327
327
// CHECK-SAME: i64 %[[len:.*]], i64 %[[extent:.*]])
328
- // CHECK: %[[a:.*]] = mul i64 mul (i64 ptrtoint (ptr getelementptr (i16, ptr null, i32 1) to i64), i64 12) , %[[len]]
328
+ // CHECK: %[[a:.*]] = mul i64 24 , %[[len]]
329
329
// CHECK: %[[b:.*]] = mul i64 %[[a]], %[[extent]]
330
330
// CHECK: call ptr @malloc(i64 %[[b]])
331
331
func.func @allocmem_array_with_holes_dynchar(%arg0: index, %arg1: index) -> !fir.heap<!fir.array<3x?x4x!fir.char<2,?>>> {
0 commit comments