137 lines · plain
1; RUN: opt < %s -O0 -S2 3%async_func_ptr = type <{ i32, i32 }>4%Tsq = type <{}>5%swift.context = type { ptr, ptr, i64 }6%swift.type = type { i64 }7%FlatMapSeq = type <{}>8%swift.error = type opaque9%swift.opaque = type opaque10 11@repoTU = global %async_func_ptr <{ i32 trunc (i64 sub (i64 ptrtoint (ptr @repo to i64), i64 ptrtoint (ptr @repoTU to i64)) to i32), i32 20 }>, section "__TEXT,__const", align 812 13; Function Attrs: nounwind14declare token @llvm.coro.id.async(i32, i32, i32, ptr) #015 16; Function Attrs: nounwind17declare ptr @llvm.coro.begin(token, ptr writeonly) #018 19; Function Attrs: nounwind20declare ptr @llvm.coro.async.resume() #021 22define hidden ptr @__swift_async_resume_project_context(ptr %0) {23entry:24 ret ptr undef25}26 27define swifttailcc void @repo(ptr %0, ptr %1, ptr %arg, ptr %2, i1 %arg2) #1 {28entry:29 %swifterror = alloca swifterror ptr, align 830 %3 = call token @llvm.coro.id.async(i32 20, i32 16, i32 1, ptr @repoTU)31 %4 = call ptr @llvm.coro.begin(token %3, ptr null)32 %5 = bitcast ptr undef to ptr33 br label %634 356: ; preds = %21, %15, %entry36 br i1 %arg2, label %7, label %2337 387: ; preds = %639 br i1 %arg2, label %8, label %1640 418: ; preds = %742 %initializeWithTake35 = bitcast ptr undef to ptr43 %9 = call ptr %initializeWithTake35(ptr noalias %5, ptr noalias undef, ptr undef) #044 %10 = call ptr @llvm.coro.async.resume()45 %11 = bitcast ptr %10 to ptr46 %12 = call { ptr, ptr } (i32, ptr, ptr, ...) @llvm.coro.suspend.async.sl_p0i8p0s_swift.error.4.220.413.429.445.461.672.683ss(i32 256, ptr %10, ptr @__swift_async_resume_project_context, ptr @__swift_suspend_dispatch_5.23, ptr undef, ptr undef, ptr undef, ptr %5, ptr undef, ptr undef)47 br i1 %arg2, label %25, label %1348 4913: ; preds = %850 br i1 %arg2, label %14, label %1551 5214: ; preds = %1353 br label %2454 5515: ; preds = %1356 br label %657 5816: ; preds = %759 br i1 %arg2, label %26, label %1760 6117: ; preds = %1662 br i1 %arg2, label %18, label %2263 6418: ; preds = %1765 br i1 %arg2, label %27, label %1966 6719: ; preds = %1868 br i1 %arg2, label %20, label %2169 7020: ; preds = %1971 br label %2472 7321: ; preds = %1974 br label %675 7622: ; preds = %1777 br label %2478 7923: ; preds = %680 br label %2481 8224: ; preds = %23, %22, %20, %1483 unreachable84 8525: ; preds = %886 br label %2887 8826: ; preds = %1689 br label %2890 9127: ; preds = %1892 br label %2893 9428: ; preds = %27, %26, %2595 unreachable96}97 98define dso_local swifttailcc void @__swift_suspend_dispatch_2.18() {99entry:100 ret void101}102 103define dso_local swifttailcc void @__swift_suspend_dispatch_5.19() {104entry:105 ret void106}107 108define dso_local swifttailcc void @__swift_suspend_dispatch_2.20() {109entry:110 ret void111}112 113define dso_local swifttailcc void @__swift_suspend_dispatch_4.21() {114entry:115 ret void116}117 118define dso_local swifttailcc void @__swift_suspend_dispatch_5.22() {119entry:120 ret void121}122 123define dso_local swifttailcc void @__swift_suspend_dispatch_5.23(ptr %0, ptr %1, ptr %2, ptr %3, ptr %4, ptr %5) {124entry:125 ret void126}127 128; Function Attrs: nounwind129declare { ptr, ptr } @llvm.coro.suspend.async.sl_p0i8p0s_swift.error.4.220.413.429.445.461.672.683ss(i32, ptr, ptr, ...) #0130 131attributes #0 = { nounwind }132attributes #1 = { "tune-cpu"="generic" }133 134!llvm.linker.options = !{!0}135 136!0 = !{!"-lobjc"}137