Skip to content

Commit c8fad74

Browse files
fix testcases
1 parent f4a13ea commit c8fad74

File tree

10 files changed

+110
-106
lines changed

10 files changed

+110
-106
lines changed

flang/test/Driver/tco-test-gen.fir

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,11 @@ func.func @_QPtest(%arg0: !fir.ref<i32> {fir.bindc_name = "num"}, %arg1: !fir.re
4242
// CHECK-SAME: %[[ARG2:.*]]: !llvm.ptr {fir.bindc_name = "ub", llvm.nocapture},
4343
// CHECK-SAME: %[[ARG3:.*]]: !llvm.ptr {fir.bindc_name = "step", llvm.nocapture}) {
4444

45-
// CMPLX: %[[VAL_3:.*]] = llvm.mlir.constant(0 : index) : i64
46-
// CMPLX: %[[VAL_2:.*]] = llvm.mlir.constant(1 : index) : i64
4745
// CMPLX: %[[VAL_0:.*]] = llvm.mlir.constant(1 : i64) : i64
4846
// CMPLX: %[[VAL_1:.*]] = llvm.alloca %[[VAL_0]] x i32 {bindc_name = "i"} : (i64) -> !llvm.ptr
47+
// CMPLX: %[[VAL_2:.*]] = llvm.mlir.constant(1 : index) : i64
48+
// CMPLX: %[[VAL_3:.*]] = llvm.mlir.constant(0 : index) : i64
49+
// CMPLX: %[[VAL_4:.*]] = llvm.mlir.constant(1 : i64) : i64
4950

5051
// SIMPLE: %[[VAL_3:.*]] = llvm.mlir.constant(0 : index) : i64
5152
// SIMPLE: %[[VAL_2:.*]] = llvm.mlir.constant(1 : index) : i64

flang/test/Fir/alloc-32.fir

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ func.func @allocmem_scalar_nonchar() -> !fir.heap<i32> {
1919
// CHECK-LABEL: define ptr @allocmem_scalar_dynchar(
2020
// CHECK-SAME: i32 %[[len:.*]])
2121
// CHECK: %[[mul1:.*]] = sext i32 %[[len]] to i64
22-
// CHECK: %[[mul2:.*]] = mul i64 %[[mul1]], 1
22+
// CHECK: %[[mul2:.*]] = mul i64 1, %[[mul1]]
2323
// CHECK: %[[cmp:.*]] = icmp sgt i64 %[[mul2]], 0
2424
// CHECK: %[[sz:.*]] = select i1 %[[cmp]], i64 %[[mul2]], i64 1
2525
// CHECK: %[[trunc:.*]] = trunc i64 %[[sz]] to i32

flang/test/Fir/alloc.fir

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ func.func @alloca_scalar_dynchar_kind(%l : i32) -> !fir.ref<!fir.char<2,?>> {
8686
// CHECK-LABEL: define ptr @allocmem_scalar_dynchar(
8787
// CHECK-SAME: i32 %[[len:.*]])
8888
// CHECK: %[[mul1:.*]] = sext i32 %[[len]] to i64
89-
// CHECK: %[[mul2:.*]] = mul i64 %[[mul1]], 1
89+
// CHECK: %[[mul2:.*]] = mul i64 1, %[[mul1]]
9090
// CHECK: %[[cmp:.*]] = icmp sgt i64 %[[mul2]], 0
9191
// CHECK: %[[size:.*]] = select i1 %[[cmp]], i64 %[[mul2]], i64 1
9292
// CHECK: call ptr @malloc(i64 %[[size]])
@@ -98,7 +98,7 @@ func.func @allocmem_scalar_dynchar(%l : i32) -> !fir.heap<!fir.char<1,?>> {
9898
// CHECK-LABEL: define ptr @allocmem_scalar_dynchar_kind(
9999
// CHECK-SAME: i32 %[[len:.*]])
100100
// CHECK: %[[mul1:.*]] = sext i32 %[[len]] to i64
101-
// CHECK: %[[mul2:.*]] = mul i64 %[[mul1]], 2
101+
// CHECK: %[[mul2:.*]] = mul i64 2, %[[mul1]]
102102
// CHECK: %[[cmp:.*]] = icmp sgt i64 %[[mul2]], 0
103103
// CHECK: %[[size:.*]] = select i1 %[[cmp]], i64 %[[mul2]], i64 1
104104
// CHECK: call ptr @malloc(i64 %[[size]])
@@ -185,7 +185,7 @@ func.func @alloca_dynarray_of_nonchar2(%e: index) -> !fir.ref<!fir.array<?x?xi32
185185

186186
// CHECK-LABEL: define ptr @allocmem_dynarray_of_nonchar(
187187
// CHECK-SAME: i64 %[[extent:.*]])
188-
// CHECK: %[[prod1:.*]] = mul i64 %[[extent]], 12
188+
// CHECK: %[[prod1:.*]] = mul i64 12, %[[extent]]
189189
// CHECK: %[[cmp:.*]] = icmp sgt i64 %[[prod1]], 0
190190
// CHECK: %[[size:.*]] = select i1 %[[cmp]], i64 %[[prod1]], i64 1
191191
// CHECK: call ptr @malloc(i64 %[[size]])
@@ -196,7 +196,7 @@ func.func @allocmem_dynarray_of_nonchar(%e: index) -> !fir.heap<!fir.array<3x?xi
196196

197197
// CHECK-LABEL: define ptr @allocmem_dynarray_of_nonchar2(
198198
// CHECK-SAME: i64 %[[extent:.*]])
199-
// CHECK: %[[prod1:.*]] = mul i64 %[[extent]], 4
199+
// CHECK: %[[prod1:.*]] = mul i64 4, %[[extent]]
200200
// CHECK: %[[prod2:.*]] = mul i64 %[[prod1]], %[[extent]]
201201
// CHECK: %[[cmp:.*]] = icmp sgt i64 %[[prod2]], 0
202202
// CHECK: %[[size:.*]] = select i1 %[[cmp]], i64 %[[prod2]], i64 1
@@ -227,7 +227,7 @@ func.func @alloca_dynarray_of_char2(%e : index) -> !fir.ref<!fir.array<?x?x!fir.
227227

228228
// CHECK-LABEL: define ptr @allocmem_dynarray_of_char(
229229
// CHECK-SAME: i64 %[[extent:.*]])
230-
// CHECK: %[[prod1:.*]] = mul i64 %[[extent]], 60
230+
// CHECK: %[[prod1:.*]] = mul i64 60, %[[extent]]
231231
// CHECK: %[[cmp:.*]] = icmp sgt i64 %[[prod1]], 0
232232
// CHECK: %[[size:.*]] = select i1 %[[cmp]], i64 %[[prod1]], i64 1
233233
// CHECK: call ptr @malloc(i64 %[[size]])
@@ -238,7 +238,7 @@ func.func @allocmem_dynarray_of_char(%e : index) -> !fir.heap<!fir.array<3x?x!fi
238238

239239
// CHECK-LABEL: define ptr @allocmem_dynarray_of_char2(
240240
// CHECK-SAME: i64 %[[extent:.*]])
241-
// CHECK: %[[prod1:.*]] = mul i64 %[[extent]], 20
241+
// CHECK: %[[prod1:.*]] = mul i64 20, %[[extent]]
242242
// CHECK: %[[prod2:.*]] = mul i64 %[[prod1]], %[[extent]]
243243
// CHECK: %[[cmp:.*]] = icmp sgt i64 %[[prod2]], 0
244244
// CHECK: %[[size:.*]] = select i1 %[[cmp]], i64 %[[mul2]], i64 1
@@ -286,7 +286,7 @@ func.func @allocmem_dynarray_of_dynchar(%l: i32, %e : index) -> !fir.heap<!fir.a
286286
// CHECK-LABEL: define ptr @allocmem_dynarray_of_dynchar2(
287287
// CHECK-SAME: i32 %[[len:.*]], i64 %[[extent:.*]])
288288
// CHECK: %[[a:.*]] = sext i32 %[[len]] to i64
289-
// CHECK: %[[prod1:.*]] = mul i64 %[[a]], 2
289+
// CHECK: %[[prod1:.*]] = mul i64 2, %[[a]]
290290
// CHECK: %[[prod2:.*]] = mul i64 %[[prod1]], %[[extent]]
291291
// CHECK: %[[prod3:.*]] = mul i64 %[[prod2]], %[[extent]]
292292
// CHECK: %[[cmp:.*]] = icmp sgt i64 %[[prod3]], 0

flang/test/Fir/arrexp.fir

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,9 +143,9 @@ func.func @f6(%arg0: !fir.box<!fir.array<?xf32>>, %arg1: f32) {
143143
%c9 = arith.constant 9 : index
144144
%c10 = arith.constant 10 : index
145145

146-
// CHECK: %[[EXT_GEP:.*]] = getelementptr {{.*}} %[[A]], i32 0, i32 7, i32 0, i32 1
146+
// CHECK: %[[EXT_GEP:.*]] = getelementptr {{.*}} %[[A]], i32 0, i32 7, i64 0, i32 1
147147
// CHECK: %[[EXTENT:.*]] = load i64, ptr %[[EXT_GEP]]
148-
// CHECK: %[[SIZE:.*]] = mul i64 %[[EXTENT]], 4
148+
// CHECK: %[[SIZE:.*]] = mul i64 4, %[[EXTENT]]
149149
// CHECK: %[[CMP:.*]] = icmp sgt i64 %[[SIZE]], 0
150150
// CHECK: %[[SZ:.*]] = select i1 %[[CMP]], i64 %[[SIZE]], i64 1
151151
// CHECK: %[[MALLOC:.*]] = call ptr @malloc(i64 %[[SZ]])

flang/test/Fir/box.fir

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ func.func @fa(%a : !fir.ref<!fir.array<100xf32>>) {
5757
// CHECK-SAME: ptr {{[^%]*}}%[[res:.*]], ptr {{[^%]*}}%[[arg0:.*]], i64 %[[arg1:.*]])
5858
func.func @b1(%arg0 : !fir.ref<!fir.char<1,?>>, %arg1 : index) -> !fir.box<!fir.char<1,?>> {
5959
// CHECK: %[[alloca:.*]] = alloca { ptr, i64, i32, i8, i8, i8, i8 }
60-
// CHECK: %[[size:.*]] = mul i64 %[[arg1]], 1
60+
// CHECK: %[[size:.*]] = mul i64 1, %[[arg1]]
6161
// CHECK: insertvalue {{.*}} undef, i64 %[[size]], 1
6262
// CHECK: insertvalue {{.*}} i32 20240719, 2
6363
// CHECK: insertvalue {{.*}} ptr %[[arg0]], 0
@@ -89,7 +89,7 @@ func.func @b2(%arg0 : !fir.ref<!fir.array<?x!fir.char<1,5>>>, %arg1 : index) ->
8989
func.func @b3(%arg0 : !fir.ref<!fir.array<?x!fir.char<1,?>>>, %arg1 : index, %arg2 : index) -> !fir.box<!fir.array<?x!fir.char<1,?>>> {
9090
%1 = fir.shape %arg2 : (index) -> !fir.shape<1>
9191
// CHECK: %[[alloca:.*]] = alloca { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }
92-
// CHECK: %[[size:.*]] = mul i64 %[[arg1]], 1
92+
// CHECK: %[[size:.*]] = mul i64 1, %[[arg1]]
9393
// CHECK: insertvalue {{.*}} i64 %[[size]], 1
9494
// CHECK: insertvalue {{.*}} i32 20240719, 2
9595
// CHECK: insertvalue {{.*}} i64 %[[arg2]], 7, 0, 1
@@ -108,7 +108,7 @@ func.func @b4(%arg0 : !fir.ref<!fir.array<7x!fir.char<1,?>>>, %arg1 : index) ->
108108
%c_7 = arith.constant 7 : index
109109
%1 = fir.shape %c_7 : (index) -> !fir.shape<1>
110110
// CHECK: %[[alloca:.*]] = alloca { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }
111-
// CHECK: %[[size:.*]] = mul i64 %[[arg1]], 1
111+
// CHECK: %[[size:.*]] = mul i64 1, %[[arg1]]
112112
// CHECK: insertvalue {{.*}} i64 %[[size]], 1
113113
// CHECK: insertvalue {{.*}} i32 20240719, 2
114114
// CHECK: insertvalue {{.*}} i64 7, 7, 0, 1

flang/test/Fir/optional.fir

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ func.func @bar2() -> i1 {
3737

3838
// CHECK-LABEL: @foo3
3939
func.func @foo3(%arg0: !fir.boxchar<1>) -> i1 {
40-
// CHECK: %[[ptr:.*]] = ptrtoint ptr %0 to i64
40+
// CHECK: %[[extract:.*]] = extractvalue { ptr, i64 } %{{.*}}, 0
41+
// CHECK: %[[ptr:.*]] = ptrtoint ptr %[[extract]] to i64
4142
// CHECK: icmp ne i64 %[[ptr]], 0
4243
%0 = fir.is_present %arg0 : (!fir.boxchar<1>) -> i1
4344
return %0 : i1

flang/test/Fir/rebox.fir

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ func.func @test_rebox_1(%arg0: !fir.box<!fir.array<?x?xf32>>) {
3636
// CHECK: %[[VOIDBASE0:.*]] = getelementptr i8, ptr %[[INBASE]], i64 %[[OFFSET_0]]
3737
// CHECK: %[[OFFSET_1:.*]] = mul i64 2, %[[INSTRIDE_1]]
3838
// CHECK: %[[VOIDBASE1:.*]] = getelementptr i8, ptr %[[VOIDBASE0]], i64 %[[OFFSET_1]]
39-
// CHECK: %[[OUTSTRIDE0:.*]] = mul i64 %[[INSTRIDE_1]], 3
39+
// CHECK: %[[OUTSTRIDE0:.*]] = mul i64 3, %[[INSTRIDE_1]]
4040
// CHECK: %[[OUTBOX1:.*]] = insertvalue { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] } %{{.*}}, i64 %[[OUTSTRIDE0]], 7, 0, 2
4141
// CHECK: %[[OUTBOX2:.*]] = insertvalue { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] } %[[OUTBOX1]], ptr %[[VOIDBASE1]], 0
4242
// CHECK: store { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] } %[[OUTBOX2]], ptr %[[OUTBOX_ALLOC]], align 8
@@ -63,7 +63,7 @@ func.func @test_rebox_2(%arg0: !fir.box<!fir.array<?x?x!fir.char<1,?>>>) {
6363
// CHECK: %[[OUTBOX:.*]] = alloca { ptr, i64, i32, i8, i8, i8, i8, [2 x [3 x i64]] }
6464
// CHECK: %[[LEN_GEP:.*]] = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [2 x [3 x i64]] }, ptr %[[INBOX]], i32 0, i32 1
6565
// CHECK: %[[LEN:.*]] = load i64, ptr %[[LEN_GEP]]
66-
// CHECK: %[[SIZE:.*]] = mul i64 %[[LEN]], 1
66+
// CHECK: %[[SIZE:.*]] = mul i64 1, %[[LEN]]
6767
// CHECK: insertvalue { ptr, i64, i32, i8, i8, i8, i8, [2 x [3 x i64]] } undef, i64 %[[SIZE]], 1
6868

6969
%1 = fir.rebox %arg0 [%0] : (!fir.box<!fir.array<?x?x!fir.char<1,?>>>, !fir.slice<2>) -> !fir.box<!fir.array<?x?x!fir.char<1,?>>>
@@ -94,8 +94,8 @@ func.func @test_rebox_3(%arg0: !fir.box<!fir.array<?xf32>>) {
9494
// CHECK: %[[INSTRIDE:.*]] = load i64, ptr %[[INSTRIDE_GEP]]
9595
// CHECK: %[[INBASE_GEP:.*]] = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %[[INBOX]], i32 0, i32 0
9696
// CHECK: %[[INBASE:.*]] = load ptr, ptr %[[INBASE_GEP]]
97-
// CHECK: %[[OUTSTRIDE1:.*]] = mul i64 %[[INSTRIDE]], 3
98-
// CHECK: %[[OUTSTRIDE2:.*]] = mul i64 %[[OUTSTRIDE1]], 4
97+
// CHECK: %[[OUTSTRIDE1:.*]] = mul i64 3, %[[INSTRIDE]]
98+
// CHECK: %[[OUTSTRIDE2:.*]] = mul i64 4, %[[OUTSTRIDE1]]
9999
// CHECK: %[[OUTBOX0:.*]] = insertvalue { ptr, i64, i32, i8, i8, i8, i8, [3 x [3 x i64]] } %{{.*}}, i64 %[[INSTRIDE]], 7, 0, 2
100100
// CHECK: %[[OUTBOX1:.*]] = insertvalue { ptr, i64, i32, i8, i8, i8, i8, [3 x [3 x i64]] } %[[OUTBOX0]], i64 3, 7, 1, 0
101101
// CHECK: %[[OUTBOX2:.*]] = insertvalue { ptr, i64, i32, i8, i8, i8, i8, [3 x [3 x i64]] } %[[OUTBOX1]], i64 4, 7, 1, 1
@@ -153,21 +153,21 @@ func.func @test_cmplx_1(%arg0: !fir.box<!fir.array<?xcomplex<f32>>>) {
153153
%0:3 = fir.box_dims %arg0, %c0 : (!fir.box<!fir.array<?xcomplex<f32>>>, index) -> (index, index, index)
154154
%1 = fir.slice %c1, %0#1, %c1 path %c1_i32 : (index, index, index, i32) -> !fir.slice<1>
155155
%2 = fir.rebox %arg0 [%1] : (!fir.box<!fir.array<?xcomplex<f32>>>, !fir.slice<1>) -> !fir.box<!fir.array<?xf32>>
156-
// CHECK: %[[INSTRIDE_0_GEP:.*]] = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %[[INBOX]], i32 0, i32 7, i32 0, i32 1
156+
// CHECK: %[[INSTRIDE_0_GEP:.*]] = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %[[INBOX]], i32 0, i32 7, i64 0, i32 1
157157
// CHECK: %[[INSTRIDE_0:.*]] = load i64, ptr %[[INSTRIDE_0_GEP]]
158158
// CHECK: %[[INSTRIDE_1_GEP:.*]] = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %[[INBOX]], i32 0, i32 7, i32 0, i32 2
159159
// CHECK: %[[INSTRIDE_1:.*]] = load i64, ptr %[[INSTRIDE_1_GEP]]
160160
// CHECK: %[[FRONT_GEP:.*]] = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %[[INBOX]], i32 0, i32 0
161161
// CHECK: %[[FRONT_PTR:.*]] = load ptr, ptr %[[FRONT_GEP]]
162-
// CHECK: %[[FIELD_OFFSET_GEP:.*]] = getelementptr { float, float }, ptr %[[FRONT_PTR]], i32 0, i32 0
162+
// CHECK: %[[FIELD_OFFSET_GEP:.*]] = getelementptr { float, float }, ptr %[[FRONT_PTR]], i64 0, i32 0
163163
// CHECK: %[[FRONT_OFFSET:.*]] = mul i64 0, %[[INSTRIDE_1]]
164164
// CHECK: %[[OFFSET_GEP:.*]] = getelementptr i8, ptr %[[FIELD_OFFSET_GEP]], i64 %[[FRONT_OFFSET]]
165165
// CHECK: %[[SUB_1:.*]] = sub i64 %[[INSTRIDE_0]], 1
166166
// CHECK: %[[ADD_1:.*]] = add i64 %[[SUB_1]], 1
167167
// CHECK: %[[DIV_1:.*]] = sdiv i64 %[[ADD_1]], 1
168168
// CHECK: %[[CHECK_NONZERO:.*]] = icmp sgt i64 %[[DIV_1]], 0
169169
// CHECK: %[[CHECKED_BOUND:.*]] = select i1 %[[CHECK_NONZERO]], i64 %[[DIV_1]], i64 0
170-
// CHECK: %[[STRIDE:.*]] = mul i64 %[[INSTRIDE_1]], 1
170+
// CHECK: %[[STRIDE:.*]] = mul i64 1, %[[INSTRIDE_1]]
171171
// CHECK: %[[VAL_BUILD_1:.*]] = insertvalue { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] } %{{.*}}, i64 %[[CHECKED_BOUND]], 7, 0, 1
172172
// CHECK: %[[VAL_BUILD_2:.*]] = insertvalue { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] } %[[VAL_BUILD_1]], i64 %[[STRIDE]], 7, 0, 2
173173
// CHECK: %[[VAL_BUILD_3:.*]] = insertvalue { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] } %[[VAL_BUILD_2]], ptr %[[OFFSET_GEP]], 0
@@ -198,10 +198,10 @@ func.func @test_cmplx_2(%arg0: !fir.box<!fir.array<?xcomplex<f32>>>) {
198198
// CHECK: %[[INSTRIDE_0:.*]] = load i64, ptr %[[INSTRIDE_0_GEP]]
199199
// CHECK: %[[FRONT_GEP:.*]] = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %[[INBOX]], i32 0, i32 0
200200
// CHECK: %[[FRONT_PTR:.*]] = load ptr, ptr %[[FRONT_GEP]]
201-
// CHECK: %[[FIELD_OFFSET_GEP:.*]] = getelementptr { float, float }, ptr %[[FRONT_PTR]], i32 0, i32 1
201+
// CHECK: %[[FIELD_OFFSET_GEP:.*]] = getelementptr { float, float }, ptr %[[FRONT_PTR]], i64 0, i32 1
202202
// CHECK: %[[FRONT_OFFSET:.*]] = mul i64 6, %[[INSTRIDE_0]]
203203
// CHECK: %[[OFFSET_GEP:.*]] = getelementptr i8, ptr %[[FIELD_OFFSET_GEP]], i64 %[[FRONT_OFFSET]]
204-
// CHECK: %[[STRIDE:.*]] = mul i64 %[[INSTRIDE_0]], 5
204+
// CHECK: %[[STRIDE:.*]] = mul i64 5, %[[INSTRIDE_0]]
205205
// CHECK: %[[VAL_BUILD_1:.*]] = insertvalue { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] } %{{.*}}, i64 %[[STRIDE]], 7, 0, 2
206206
// CHECK: %[[VAL_BUILD_2:.*]] = insertvalue { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] } %[[VAL_BUILD_1]], ptr %[[OFFSET_GEP]], 0
207207
// CHECK: store { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] } %[[VAL_BUILD_2]], ptr %[[OUTBOX_ALLOC]]

flang/test/Fir/tbaa-codegen2.fir

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,9 @@ module attributes {fir.defaultkind = "a1c4d8i4l4r4", fir.kindmap = "", llvm.targ
6262
// CHECK-LABEL: define void @_QPfunc(
6363
// CHECK-SAME: ptr {{[^%]*}}%[[ARG0:.*]]){{.*}}{
6464
// [...]
65-
// CHECK: %[[VAL5:.*]] = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %[[ARG0]], i32 0, i32 6
65+
// CHECK: %[[VAL5:.*]] = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %[[ARG0]], i32 0, i32 7, i32 0, i32 0
6666
// box access:
67-
// CHECK: %[[VAL6:.*]] = load i8, ptr %[[VAL5]], align 1, !tbaa ![[BOX_ACCESS_TAG:.*]]
67+
// CHECK: %[[VAL6:.*]] = load i64, ptr %[[VAL5]], align 4, !tbaa ![[BOX_ACCESS_TAG:.*]]
6868
// CHECK: %[[VAL7:.*]] = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %0, i32 0, i32 7, i32 0, i32 1
6969
// box access:
7070
// CHECK: %[[VAL8:.*]] = load i64, ptr %[[VAL7]], align 4, !tbaa ![[BOX_ACCESS_TAG]]
@@ -76,9 +76,15 @@ module attributes {fir.defaultkind = "a1c4d8i4l4r4", fir.kindmap = "", llvm.targ
7676
// CHECK: %[[VAL12:.*]] = load ptr, ptr %[[VAL11]], align 8, !tbaa ![[BOX_ACCESS_TAG]]
7777
// CHECK: %[[VAL15:.*]] = insertvalue { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] } %{{.*}}, ptr %[[VAL12]], 0
7878
// CHECK: store { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] } %[[VAL15]], ptr %{{.*}}, align 8, !tbaa ![[BOX_ACCESS_TAG]]
79-
// CHECK: %[[VAL18:.*]] = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %{{.*}}, i32 0, i32 7, i32 0, i32 1
79+
// CHECK: %[[VAL16:.*]] = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %{{.*}}, i32 0, i32 7, i64 0, i32 0
80+
// box access:
81+
// CHECK: %[[VAL17:.*]] = load i64, ptr %[[VAL16]], align 4, !tbaa ![[BOX_ACCESS_TAG]]
82+
// CHECK: %[[VAL18:.*]] = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %{{.*}}, i32 0, i32 7, i64 0, i32 1
8083
// box access:
8184
// CHECK: %[[VAL19:.*]] = load i64, ptr %[[VAL18]], align 4, !tbaa ![[BOX_ACCESS_TAG]]
85+
// CHECK: %[[VAL20:.*]] = getelementptr { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] }, ptr %{{.*}}, i32 0, i32 7, i64 0, i32 2
86+
// box access:
87+
// CHECK: %[[VAL21:.*]] = load i64, ptr %[[VAL20]], align 4, !tbaa ![[BOX_ACCESS_TAG]]
8288
// [...]
8389
// box access:
8490
// CHECK: store { ptr, i64, i32, i8, i8, i8, i8, [1 x [3 x i64]] } %{{.*}}, ptr %{{.*}}, align 8, !tbaa ![[BOX_ACCESS_TAG]]

flang/test/Lower/forall/character-1.f90

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@ end program test
2323

2424
! CHECK-LABEL: define internal void @_QFPsub(
2525
! CHECK-SAME: ptr {{[^%]*}}%[[arg:.*]])
26-
! CHECK: %[[extent:.*]] = getelementptr { {{.*}}, [1 x [3 x i64]] }, ptr %[[arg]], i32 0, i32 7, i32 0, i32 1
26+
! CHECK: %[[extent:.*]] = getelementptr { {{.*}}, [1 x [3 x i64]] }, ptr %[[arg]], i32 0, i32 7, i64 0, i32 1
2727
! CHECK: %[[extval:.*]] = load i64, ptr %[[extent]]
2828
! CHECK: %[[elesize:.*]] = getelementptr { {{.*}}, [1 x [3 x i64]] }, ptr %[[arg]], i32 0, i32 1
2929
! CHECK: %[[esval:.*]] = load i64, ptr %[[elesize]]
30-
! CHECK: %[[mul:.*]] = mul i64 %[[esval]], 1
30+
! CHECK: %[[mul:.*]] = mul i64 1, %[[esval]]
3131
! CHECK: %[[mul2:.*]] = mul i64 %[[mul]], %[[extval]]
3232
! CHECK: %[[cmp:.*]] = icmp sgt i64 %[[mul2]], 0
3333
! CHECK: %[[size:.*]] = select i1 %[[cmp]], i64 %[[mul2]], i64 1

0 commit comments

Comments
 (0)