Skip to content

Commit 2d69827

Browse files
committed
[Transforms] Convert tests to opaque pointers (NFC)
1 parent 7d879bc commit 2d69827

File tree

100 files changed

+1151
-1151
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

100 files changed

+1151
-1151
lines changed

llvm/test/Transforms/AggressiveInstCombine/AArch64/or-load.ll

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ define i32 @loadCombine_4consecutive_alias(ptr %p) {
172172
%p2 = getelementptr i8, ptr %p, i32 2
173173
%p3 = getelementptr i8, ptr %p, i32 3
174174
%l1 = load i8, ptr %p
175-
store i8 10, i8* %p
175+
store i8 10, ptr %p
176176
%l2 = load i8, ptr %p1
177177
%l3 = load i8, ptr %p2
178178
%l4 = load i8, ptr %p3
@@ -223,7 +223,7 @@ define i32 @loadCombine_4consecutive_alias_BE(ptr %p) {
223223
%p2 = getelementptr i8, ptr %p, i32 2
224224
%p3 = getelementptr i8, ptr %p, i32 3
225225
%l1 = load i8, ptr %p
226-
store i8 10, i8* %p
226+
store i8 10, ptr %p
227227
%l2 = load i8, ptr %p1
228228
%l3 = load i8, ptr %p2
229229
%l4 = load i8, ptr %p3
@@ -271,7 +271,7 @@ define i32 @loadCombine_4consecutive_alias2(ptr %p, ptr %pstr) {
271271
%l1 = load i8, ptr %p
272272
%l2 = load i8, ptr %p1
273273
%l3 = load i8, ptr %p2
274-
store i8 10, i8* %pstr
274+
store i8 10, ptr %pstr
275275
%l4 = load i8, ptr %p3
276276

277277
%e1 = zext i8 %l1 to i32
@@ -317,7 +317,7 @@ define i32 @loadCombine_4consecutive_alias2_BE(ptr %p, ptr %pstr) {
317317
%l1 = load i8, ptr %p
318318
%l2 = load i8, ptr %p1
319319
%l3 = load i8, ptr %p2
320-
store i8 10, i8* %pstr
320+
store i8 10, ptr %pstr
321321
%l4 = load i8, ptr %p3
322322

323323
%e1 = zext i8 %l1 to i32
@@ -364,8 +364,8 @@ define i32 @loadCombine_4consecutive_alias3(ptr %p) {
364364
%l1 = load i8, ptr %p
365365
%l2 = load i8, ptr %p1
366366
%l3 = load i8, ptr %p2
367-
store i8 10, i8* %p3
368-
store i8 5, i8* %p
367+
store i8 10, ptr %p3
368+
store i8 5, ptr %p
369369
%l4 = load i8, ptr %p3
370370

371371
%e1 = zext i8 %l1 to i32
@@ -412,8 +412,8 @@ define i32 @loadCombine_4consecutive_alias3_BE(ptr %p) {
412412
%l1 = load i8, ptr %p
413413
%l2 = load i8, ptr %p1
414414
%l3 = load i8, ptr %p2
415-
store i8 10, i8* %p3
416-
store i8 5, i8* %p
415+
store i8 10, ptr %p3
416+
store i8 5, ptr %p
417417
%l4 = load i8, ptr %p3
418418

419419
%e1 = zext i8 %l1 to i32
@@ -466,13 +466,13 @@ define i32 @loadCombine_4consecutive_with_alias4(ptr %p, ptr %ps) {
466466
%ps2 = getelementptr i8, ptr %ps, i32 2
467467
%ps3 = getelementptr i8, ptr %ps, i32 3
468468
%l1 = load i8, ptr %p
469-
store i8 10, i8* %ps
469+
store i8 10, ptr %ps
470470
%l2 = load i8, ptr %p1
471-
store i8 10, i8* %ps1
471+
store i8 10, ptr %ps1
472472
%l3 = load i8, ptr %p2
473-
store i8 10, i8* %ps2
473+
store i8 10, ptr %ps2
474474
%l4 = load i8, ptr %p3
475-
store i8 10, i8* %ps3
475+
store i8 10, ptr %ps3
476476

477477
%e1 = zext i8 %l1 to i32
478478
%e2 = zext i8 %l2 to i32

llvm/test/Transforms/AggressiveInstCombine/X86/or-load.ll

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ define i32 @loadCombine_4consecutive_alias(ptr %p) {
180180
%p2 = getelementptr i8, ptr %p, i32 2
181181
%p3 = getelementptr i8, ptr %p, i32 3
182182
%l1 = load i8, ptr %p
183-
store i8 10, i8* %p
183+
store i8 10, ptr %p
184184
%l2 = load i8, ptr %p1
185185
%l3 = load i8, ptr %p2
186186
%l4 = load i8, ptr %p3
@@ -231,7 +231,7 @@ define i32 @loadCombine_4consecutive_alias_BE(ptr %p) {
231231
%p2 = getelementptr i8, ptr %p, i32 2
232232
%p3 = getelementptr i8, ptr %p, i32 3
233233
%l1 = load i8, ptr %p
234-
store i8 10, i8* %p
234+
store i8 10, ptr %p
235235
%l2 = load i8, ptr %p1
236236
%l3 = load i8, ptr %p2
237237
%l4 = load i8, ptr %p3
@@ -295,7 +295,7 @@ define i32 @loadCombine_4consecutive_alias2(ptr %p, ptr %pstr) {
295295
%l1 = load i8, ptr %p
296296
%l2 = load i8, ptr %p1
297297
%l3 = load i8, ptr %p2
298-
store i8 10, i8* %pstr
298+
store i8 10, ptr %pstr
299299
%l4 = load i8, ptr %p3
300300

301301
%e1 = zext i8 %l1 to i32
@@ -357,7 +357,7 @@ define i32 @loadCombine_4consecutive_alias2_BE(ptr %p, ptr %pstr) {
357357
%l1 = load i8, ptr %p
358358
%l2 = load i8, ptr %p1
359359
%l3 = load i8, ptr %p2
360-
store i8 10, i8* %pstr
360+
store i8 10, ptr %pstr
361361
%l4 = load i8, ptr %p3
362362

363363
%e1 = zext i8 %l1 to i32
@@ -421,8 +421,8 @@ define i32 @loadCombine_4consecutive_alias3(ptr %p) {
421421
%l1 = load i8, ptr %p
422422
%l2 = load i8, ptr %p1
423423
%l3 = load i8, ptr %p2
424-
store i8 10, i8* %p3
425-
store i8 5, i8* %p
424+
store i8 10, ptr %p3
425+
store i8 5, ptr %p
426426
%l4 = load i8, ptr %p3
427427

428428
%e1 = zext i8 %l1 to i32
@@ -486,8 +486,8 @@ define i32 @loadCombine_4consecutive_alias3_BE(ptr %p) {
486486
%l1 = load i8, ptr %p
487487
%l2 = load i8, ptr %p1
488488
%l3 = load i8, ptr %p2
489-
store i8 10, i8* %p3
490-
store i8 5, i8* %p
489+
store i8 10, ptr %p3
490+
store i8 5, ptr %p
491491
%l4 = load i8, ptr %p3
492492

493493
%e1 = zext i8 %l1 to i32
@@ -540,13 +540,13 @@ define i32 @loadCombine_4consecutive_with_alias4(ptr %p, ptr %ps) {
540540
%ps2 = getelementptr i8, ptr %ps, i32 2
541541
%ps3 = getelementptr i8, ptr %ps, i32 3
542542
%l1 = load i8, ptr %p
543-
store i8 10, i8* %ps
543+
store i8 10, ptr %ps
544544
%l2 = load i8, ptr %p1
545-
store i8 10, i8* %ps1
545+
store i8 10, ptr %ps1
546546
%l3 = load i8, ptr %p2
547-
store i8 10, i8* %ps2
547+
store i8 10, ptr %ps2
548548
%l4 = load i8, ptr %p3
549-
store i8 10, i8* %ps3
549+
store i8 10, ptr %ps3
550550

551551
%e1 = zext i8 %l1 to i32
552552
%e2 = zext i8 %l2 to i32

llvm/test/Transforms/ArgumentPromotion/X86/thiscall.ll

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ target triple = "i386-pc-windows-msvc19.11.0"
1212

1313
%struct.a = type { i8 }
1414

15-
define internal x86_thiscallcc void @internalfun(ptr %this, <{ %struct.a }>* inalloca(<{ %struct.a }>)) {
15+
define internal x86_thiscallcc void @internalfun(ptr %this, ptr inalloca(<{ %struct.a }>)) {
1616
; ARGPROMOTION-LABEL: define {{[^@]+}}@internalfun
1717
; ARGPROMOTION-SAME: (ptr [[THIS:%.*]], ptr inalloca(<{ [[STRUCT_A:%.*]] }>) [[TMP0:%.*]]) {
1818
; ARGPROMOTION-NEXT: entry:
@@ -34,11 +34,11 @@ define internal x86_thiscallcc void @internalfun(ptr %this, <{ %struct.a }>* ina
3434
; GLOBALOPT_ARGPROMOTION-NEXT: ret void
3535
;
3636
entry:
37-
%a = getelementptr inbounds <{ %struct.a }>, <{ %struct.a }>* %0, i32 0, i32 0
37+
%a = getelementptr inbounds <{ %struct.a }>, ptr %0, i32 0, i32 0
3838
%argmem = alloca inalloca <{ %struct.a }>, align 4
39-
%1 = getelementptr inbounds <{ %struct.a }>, <{ %struct.a }>* %argmem, i32 0, i32 0
39+
%1 = getelementptr inbounds <{ %struct.a }>, ptr %argmem, i32 0, i32 0
4040
%call = call x86_thiscallcc ptr @copy_ctor(ptr %1, ptr dereferenceable(1) %a)
41-
call void @ext(<{ %struct.a }>* inalloca(<{ %struct.a }>) %argmem)
41+
call void @ext(ptr inalloca(<{ %struct.a }>) %argmem)
4242
ret void
4343
}
4444

@@ -62,12 +62,12 @@ define void @exportedfun(ptr %a) {
6262
;
6363
%inalloca.save = tail call ptr @llvm.stacksave()
6464
%argmem = alloca inalloca <{ %struct.a }>, align 4
65-
call x86_thiscallcc void @internalfun(ptr %a, <{ %struct.a }>* inalloca(<{ %struct.a }>) %argmem)
65+
call x86_thiscallcc void @internalfun(ptr %a, ptr inalloca(<{ %struct.a }>) %argmem)
6666
call void @llvm.stackrestore(ptr %inalloca.save)
6767
ret void
6868
}
6969

7070
declare x86_thiscallcc ptr @copy_ctor(ptr returned, ptr dereferenceable(1))
71-
declare void @ext(<{ %struct.a }>* inalloca(<{ %struct.a }>))
71+
declare void @ext(ptr inalloca(<{ %struct.a }>))
7272
declare ptr @llvm.stacksave()
7373
declare void @llvm.stackrestore(ptr)

llvm/test/Transforms/ArgumentPromotion/store-into-inself.ll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,10 @@ define i32 @main() nounwind {
8888
;
8989
entry:
9090
%S = alloca %struct.ss, align 32
91-
%temp1 = getelementptr %struct.ss, %struct.ss* %S, i32 0, i32 0
92-
store i32 1, i32* %temp1, align 4
93-
%temp4 = getelementptr %struct.ss, %struct.ss* %S, i32 0, i32 1
94-
store i64 2, i64* %temp4, align 8
91+
%temp1 = getelementptr %struct.ss, ptr %S, i32 0, i32 0
92+
store i32 1, ptr %temp1, align 4
93+
%temp4 = getelementptr %struct.ss, ptr %S, i32 0, i32 1
94+
store i64 2, ptr %temp4, align 8
9595
call void @f(ptr byval(ptr) align 4 %S) nounwind
9696
call void @g(ptr byval(ptr) align 4 %S) nounwind
9797
call void @h(ptr byval(ptr) align 4 %S) nounwind

llvm/test/Transforms/Attributor/convergent.ll

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -88,26 +88,26 @@ define i32 @calls_defined_with_asm(i32 %a, i32 %b) convergent {
8888
ret i32 %c
8989
}
9090

91-
declare void @llvm.convergent.copy.p0i8.p0i8.i64(ptr %dest, ptr %src, i64 %size, i1 %isVolatile) #0
91+
declare void @llvm.convergent.copy.p0.p0.i64(ptr %dest, ptr %src, i64 %size, i1 %isVolatile) #0
9292

9393
define void @calls_convergent_intrinsic(ptr %dest, ptr %src, i64 %size) convergent {
9494
; TUNIT: Function Attrs: convergent mustprogress nofree nosync nounwind willreturn memory(argmem: readwrite)
9595
; TUNIT-LABEL: define {{[^@]+}}@calls_convergent_intrinsic
9696
; TUNIT-SAME: (ptr nofree [[DEST:%.*]], ptr nofree [[SRC:%.*]], i64 [[SIZE:%.*]]) #[[ATTR3:[0-9]+]] {
97-
; TUNIT-NEXT: call void @llvm.convergent.copy.p0i8.p0i8.i64(ptr nofree [[DEST]], ptr nofree [[SRC]], i64 [[SIZE]], i1 noundef false) #[[ATTR5:[0-9]+]]
97+
; TUNIT-NEXT: call void @llvm.convergent.copy.p0.p0.i64(ptr nofree [[DEST]], ptr nofree [[SRC]], i64 [[SIZE]], i1 noundef false) #[[ATTR5:[0-9]+]]
9898
; TUNIT-NEXT: ret void
9999
;
100100
; CGSCC: Function Attrs: convergent mustprogress nofree nosync nounwind willreturn memory(argmem: readwrite)
101101
; CGSCC-LABEL: define {{[^@]+}}@calls_convergent_intrinsic
102102
; CGSCC-SAME: (ptr nofree [[DEST:%.*]], ptr nofree [[SRC:%.*]], i64 [[SIZE:%.*]]) #[[ATTR4:[0-9]+]] {
103-
; CGSCC-NEXT: call void @llvm.convergent.copy.p0i8.p0i8.i64(ptr nofree [[DEST]], ptr nofree [[SRC]], i64 [[SIZE]], i1 noundef false) #[[ATTR7:[0-9]+]]
103+
; CGSCC-NEXT: call void @llvm.convergent.copy.p0.p0.i64(ptr nofree [[DEST]], ptr nofree [[SRC]], i64 [[SIZE]], i1 noundef false) #[[ATTR7:[0-9]+]]
104104
; CGSCC-NEXT: ret void
105105
;
106-
call void @llvm.convergent.copy.p0i8.p0i8.i64(ptr %dest, ptr %src, i64 %size, i1 false)
106+
call void @llvm.convergent.copy.p0.p0.i64(ptr %dest, ptr %src, i64 %size, i1 false)
107107
ret void
108108
}
109109

110-
declare void @llvm.memcpy.p0i8.p0i8.i64(ptr %dest, ptr %src, i64 %size, i1 %isVolatile) #0
110+
declare void @llvm.memcpy.p0.p0.i64(ptr %dest, ptr %src, i64 %size, i1 %isVolatile) #0
111111

112112
define void @calls_intrinsic(ptr %dest, ptr %src, i64 %size) convergent {
113113
; TUNIT: Function Attrs: convergent mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite)
@@ -122,7 +122,7 @@ define void @calls_intrinsic(ptr %dest, ptr %src, i64 %size) convergent {
122122
; CGSCC-NEXT: call void @llvm.memcpy.p0.p0.i64(ptr nocapture nofree writeonly [[DEST]], ptr nocapture nofree readonly [[SRC]], i64 [[SIZE]], i1 noundef false) #[[ATTR7]]
123123
; CGSCC-NEXT: ret void
124124
;
125-
call void @llvm.memcpy.p0i8.p0i8.i64(ptr %dest, ptr %src, i64 %size, i1 false)
125+
call void @llvm.memcpy.p0.p0.i64(ptr %dest, ptr %src, i64 %size, i1 false)
126126
ret void
127127
}
128128

llvm/test/Transforms/Attributor/dereferenceable-2-inseltpoison.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ define void @multi_index_gep(ptr %ptr) {
286286
; CHECK-SAME: (ptr nocapture nofree nonnull readnone dereferenceable(1) [[PTR:%.*]]) #[[ATTR2]] {
287287
; CHECK-NEXT: ret void
288288
;
289-
%arrayidx00 = getelementptr <4 x i8>, <4 x i8>* %ptr, i64 0, i64 0
289+
%arrayidx00 = getelementptr <4 x i8>, ptr %ptr, i64 0, i64 0
290290
%t0 = load i8, ptr %arrayidx00
291291
ret void
292292
}

llvm/test/Transforms/Attributor/dereferenceable-2.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ define void @multi_index_gep(ptr %ptr) {
286286
; CHECK-SAME: (ptr nocapture nofree nonnull readnone dereferenceable(1) [[PTR:%.*]]) #[[ATTR2]] {
287287
; CHECK-NEXT: ret void
288288
;
289-
%arrayidx00 = getelementptr <4 x i8>, <4 x i8>* %ptr, i64 0, i64 0
289+
%arrayidx00 = getelementptr <4 x i8>, ptr %ptr, i64 0, i64 0
290290
%t0 = load i8, ptr %arrayidx00
291291
ret void
292292
}

llvm/test/Transforms/Attributor/value-simplify-pointer-info.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -787,7 +787,7 @@ define i32 @test_range_merge1() {
787787
;
788788
store <2 x i32> <i32 1, i32 1>, ptr @Vs1
789789
store float 2.000000e+00, ptr getelementptr inbounds (%struct.S, ptr @Vs1, i64 0, i32 4)
790-
%l0 = load i32, ptr getelementptr inbounds (%struct.S, ptr @Vs1, i64 0, i32 0)
790+
%l0 = load i32, ptr @Vs1
791791
%l1 = load i32, ptr getelementptr inbounds (%struct.S, ptr @Vs1, i64 0, i32 1)
792792
%add = add i32 %l0, %l1
793793
ret i32 %add
@@ -814,7 +814,7 @@ define i32 @test_range_merge2() {
814814
;
815815
store <2 x i32> <i32 3, i32 4>, ptr @Vs2
816816
store float 2.000000e+00, ptr getelementptr inbounds (%struct.S, ptr @Vs2, i64 0, i32 4)
817-
%l0 = load i32, ptr getelementptr inbounds (%struct.S, ptr @Vs2, i64 0, i32 0)
817+
%l0 = load i32, ptr @Vs2
818818
%l1 = load i32, ptr getelementptr inbounds (%struct.S, ptr @Vs2, i64 0, i32 1)
819819
%add = add i32 %l0, %l1
820820
ret i32 %add

llvm/test/Transforms/CodeGenPrepare/AArch64/combine-address-mode.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ bb9: ; preds = %bb1
5656
br label %bb6
5757

5858
bb10: ; preds = %bb6, %bb
59-
%i11 = phi ptr [ getelementptr inbounds (<{ i32, i32 }>, ptr @_MergedGlobals, i32 0, i32 0), %bb ], [ %i7, %bb6 ]
60-
%i12 = phi ptr [ getelementptr inbounds (<{ i32, i32 }>, ptr @_MergedGlobals, i32 0, i32 0), %bb ], [ %i8, %bb6 ]
59+
%i11 = phi ptr [ @_MergedGlobals, %bb ], [ %i7, %bb6 ]
60+
%i12 = phi ptr [ @_MergedGlobals, %bb ], [ %i8, %bb6 ]
6161
br label %bb13
6262

6363
bb13: ; preds = %bb18, %bb10

llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-base.ll

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -480,34 +480,34 @@ fallthrough:
480480
}
481481

482482
; Different types but null is the first?
483-
define i32 @test19(i1 %cond1, i1 %cond2, i64* %b2, i8* %b1) {
483+
define i32 @test19(i1 %cond1, i1 %cond2, ptr %b2, ptr %b1) {
484484
; CHECK-LABEL: @test19
485485
entry:
486-
%g1 = getelementptr inbounds i64, i64* %b2, i64 5
487-
%bc1 = bitcast i64* %g1 to i32*
486+
%g1 = getelementptr inbounds i64, ptr %b2, i64 5
487+
%bc1 = bitcast ptr %g1 to ptr
488488
br i1 %cond1, label %if.then1, label %if.then2
489489

490490
if.then1:
491-
%g2 = getelementptr inbounds i8, i8* %b1, i64 40
492-
%bc2 = bitcast i8* %g2 to i32*
491+
%g2 = getelementptr inbounds i8, ptr %b1, i64 40
492+
%bc2 = bitcast ptr %g2 to ptr
493493
br label %fallthrough
494494

495495
if.then2:
496-
%bc1_1 = bitcast i64* %g1 to i32*
496+
%bc1_1 = bitcast ptr %g1 to ptr
497497
br i1 %cond2, label %fallthrough, label %if.then3
498498

499499
if.then3:
500-
%g3 = getelementptr inbounds i64, i64* null, i64 5
501-
%bc1_2 = bitcast i64* %g3 to i32*
500+
%g3 = getelementptr inbounds i64, ptr null, i64 5
501+
%bc1_2 = bitcast ptr %g3 to ptr
502502
br label %fallthrough
503503

504504
fallthrough:
505505
; CHECK-NOT: sunk_phi
506-
%c = phi i32* [%bc2, %if.then1], [%bc1_1, %if.then2], [%bc1_2, %if.then3]
507-
%v1 = load i32, i32* %c, align 4
508-
%g1_1 = getelementptr inbounds i64, i64* %b2, i64 5
509-
%bc1_1_1 = bitcast i64* %g1_1 to i32*
510-
%v2 = load i32, i32* %bc1_1_1, align 4
506+
%c = phi ptr [%bc2, %if.then1], [%bc1_1, %if.then2], [%bc1_2, %if.then3]
507+
%v1 = load i32, ptr %c, align 4
508+
%g1_1 = getelementptr inbounds i64, ptr %b2, i64 5
509+
%bc1_1_1 = bitcast ptr %g1_1 to ptr
510+
%v2 = load i32, ptr %bc1_1_1, align 4
511511
%v = add i32 %v1, %v2
512512
ret i32 %v
513513
}

llvm/test/Transforms/ConstraintElimination/reproducer-remarks.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ define i1 @test_no_known_facts(ptr %dst) {
1919
entry:
2020
%dst.0 = getelementptr inbounds ptr, ptr %dst, i64 0
2121
%upper = getelementptr inbounds ptr, ptr %dst, i64 2
22-
%c = icmp ult i32* %dst.0, %upper
22+
%c = icmp ult ptr %dst.0, %upper
2323
ret i1 %c
2424
}
2525

llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-infinite-loop-bug.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ declare void @my_other_async_function(ptr %async.ctxt)
1616
<{ i32 trunc ( ; Relative pointer to async function
1717
i64 sub (
1818
i64 ptrtoint (ptr @my_async_function to i64),
19-
i64 ptrtoint (ptr getelementptr inbounds (<{ i32, i32 }>, <{ i32, i32 }>* @my_async_function_fp, i32 0, i32 1) to i64)
19+
i64 ptrtoint (ptr getelementptr inbounds (<{ i32, i32 }>, ptr @my_async_function_fp, i32 0, i32 1) to i64)
2020
)
2121
to i32),
2222
i32 128 ; Initial async context size without space for frame
@@ -47,7 +47,7 @@ entry:
4747
%escaped_addr = alloca i64
4848

4949
%id = call token @llvm.coro.id.async(i32 128, i32 16, i32 0,
50-
ptr bitcast (<{i32, i32}>* @my_async_function_fp to ptr))
50+
ptr @my_async_function_fp)
5151
%hdl = call ptr @llvm.coro.begin(token %id, ptr null)
5252
call void @llvm.lifetime.start.p0(i64 4, ptr %escaped_addr)
5353
call void @escape(ptr %escaped_addr)

llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-start-bug.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ declare void @my_other_async_function(ptr %async.ctxt)
1616
<{ i32 trunc ( ; Relative pointer to async function
1717
i64 sub (
1818
i64 ptrtoint (ptr @my_async_function to i64),
19-
i64 ptrtoint (ptr getelementptr inbounds (<{ i32, i32 }>, <{ i32, i32 }>* @my_async_function_fp, i32 0, i32 1) to i64)
19+
i64 ptrtoint (ptr getelementptr inbounds (<{ i32, i32 }>, ptr @my_async_function_fp, i32 0, i32 1) to i64)
2020
)
2121
to i32),
2222
i32 128 ; Initial async context size without space for frame
@@ -41,7 +41,7 @@ entry:
4141
%escaped_addr = alloca i64
4242

4343
%id = call token @llvm.coro.id.async(i32 128, i32 16, i32 0,
44-
ptr bitcast (<{i32, i32}>* @my_async_function_fp to ptr))
44+
ptr @my_async_function_fp)
4545
%hdl = call ptr @llvm.coro.begin(token %id, ptr null)
4646
call void @llvm.lifetime.start.p0(i64 4, ptr %escaped_addr)
4747
br label %callblock

llvm/test/Transforms/Coroutines/coro-async-coro-id-async-bug.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ entry:
1313
%3 = call ptr @llvm.coro.begin(token %2, ptr null)
1414
store ptr %0, ptr %1, align 8
1515
%4 = load ptr, ptr %1, align 8
16-
%5 = getelementptr inbounds <{ ptr, ptr }>, <{ ptr, ptr }>* %4, i32 0, i32 1
16+
%5 = getelementptr inbounds <{ ptr, ptr }>, ptr %4, i32 0, i32 1
1717
%6 = load ptr, ptr %5, align 8
1818
%7 = load ptr, ptr %1, align 8
1919
%8 = call i1 (ptr, i1, ...) @llvm.coro.end.async(ptr %3, i1 false, ptr @repo.0, ptr %6, ptr %7)

0 commit comments

Comments
 (0)