Skip to content

Commit 5fea52c

Browse files
authored
Merge pull request #2661 from swiftwasm/main
[pull] swiftwasm from main
2 parents 9f1cc50 + 303a285 commit 5fea52c

File tree

40 files changed

+303
-52
lines changed

40 files changed

+303
-52
lines changed

lib/IDE/Refactoring.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5249,7 +5249,8 @@ bool RefactoringActionConvertCallToAsyncAlternative::performChange() {
52495249
assert(CE &&
52505250
"Should not run performChange when refactoring is not applicable");
52515251

5252-
AsyncConversionStringBuilder Builder(SM, DiagEngine, AsyncHandlerDesc());
5252+
AsyncHandlerDesc TempDesc;
5253+
AsyncConversionStringBuilder Builder(SM, DiagEngine, TempDesc);
52535254
Builder.convertNode(CE);
52545255

52555256
if (DiagEngine.hadAnyError())
@@ -5281,7 +5282,8 @@ bool RefactoringActionConvertToAsync::performChange() {
52815282
assert(FD &&
52825283
"Should not run performChange when refactoring is not applicable");
52835284

5284-
AsyncConversionStringBuilder Builder(SM, DiagEngine, AsyncHandlerDesc());
5285+
AsyncHandlerDesc TempDesc;
5286+
AsyncConversionStringBuilder Builder(SM, DiagEngine, TempDesc);
52855287
Builder.convertFunction(FD);
52865288

52875289
if (DiagEngine.hadAnyError())

stdlib/public/Concurrency/CMakeLists.txt

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,17 @@ set(LLVM_OPTIONAL_SOURCES
1919
set(swift_concurrency_link_libraries
2020
swiftCore)
2121

22+
set(swift_concurrency_link_flags "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}")
23+
2224
if(SWIFT_CONCURRENCY_USES_DISPATCH)
2325
if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin)
2426
include_directories(AFTER
2527
${SWIFT_PATH_TO_LIBDISPATCH_SOURCE})
28+
link_directories(AFTER
29+
${SWIFT_PATH_TO_LIBDISPATCH_BUILD})
2630

27-
# FIXME: we can't rely on libdispatch having been built for the
28-
# target at this point in the process. Currently, we're relying
29-
# on soft-linking.
30-
#list(APPEND swift_concurrency_link_libraries
31-
# dispatch)
31+
list(APPEND swift_concurrency_link_flags
32+
"-ldispatch")
3233
endif()
3334
endif()
3435

@@ -67,6 +68,6 @@ add_swift_target_library(swift_Concurrency ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} I
6768
${SWIFT_STANDARD_LIBRARY_SWIFT_FLAGS}
6869
-parse-stdlib
6970
-Xfrontend -enable-experimental-concurrency
70-
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
71+
LINK_FLAGS "${swift_concurrency_link_flags}"
7172
INSTALL_IN_COMPONENT stdlib
7273
)

test/DebugInfo/async-args.swift

Lines changed: 79 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// RUN: %target-swift-frontend %s -emit-ir -g -o - \
22
// RUN: -module-name M -enable-experimental-concurrency \
3-
// RUN: -parse-as-library | %FileCheck %s
3+
// RUN: -parse-as-library | %FileCheck %s --check-prefix=CHECK \
4+
// RUN: --check-prefix=CHECK-%target-cpu
45
// REQUIRES: concurrency
56

67
func use<T>(_ t: T) {}
@@ -10,7 +11,7 @@ func withGenericArg<T>(_ msg: T) async {
1011
// This odd debug info is part of a contract with CoroSplit/CoroFrame to fix
1112
// this up after coroutine splitting.
1213
// CHECK-LABEL: {{^define .*}} @"$s1M14withGenericArgyyxYlF"(%swift.task* %0, %swift.executor* %1, %swift.context* swiftasync %2)
13-
// CHECK: call void @llvm.dbg.declare(metadata %swift.context** %[[ALLOCA:[^,]*]],
14+
// CHECK: call void @llvm.dbg.declare(metadata %swift.context** %[[ALLOCA:[^,]+]],
1415
// CHECK-SAME: metadata ![[TAU:[0-9]+]], metadata !DIExpression(
1516
// CHECK-SAME: DW_OP_deref, DW_OP_plus_uconst, {{[0-9]+}}))
1617
// CHECK: call void @llvm.dbg.declare(metadata %swift.context** %[[ALLOCA]],
@@ -20,15 +21,82 @@ func withGenericArg<T>(_ msg: T) async {
2021

2122
await forceSplit()
2223
// CHECK-LABEL: {{^define .*}} @"$s1M14withGenericArgyyxYlF.resume.0"(i8* %0, i8* %1, i8* swiftasync %2)
23-
// CHECK: call void @llvm.dbg.declare(metadata i8** %[[ALLOCA:[^,]*]],
24-
// CHECK-SAME: metadata ![[MSG_R:[0-9]+]], metadata !DIExpression(
25-
// CHECK-SAME: DW_OP_deref, DW_OP_plus_uconst, [[OFFSET:[0-9]+]],
26-
// CHECK-SAME: DW_OP_plus_uconst, {{[0-9]+}}, DW_OP_deref))
27-
// CHECK: call void @llvm.dbg.declare(metadata i8** %[[ALLOCA]],
28-
// CHECK-SAME: metadata ![[TAU_R:[0-9]+]], metadata !DIExpression(
29-
// CHECK-SAME: DW_OP_deref, DW_OP_plus_uconst, [[OFFSET]],
30-
// CHECK-SAME: DW_OP_plus_uconst, {{[0-9]+}}))
31-
// CHECK: store i8* %2, i8** %[[ALLOCA]], align
24+
25+
// CHECK-arm64e: [[CTXT_PTR:%[0-9]+]] = bitcast i8* %2 to i8**
26+
// CHECK-arm64e: [[SIGNED_CTXT:%[0-9]+]] = load i8*, i8** [[CTXT_PTR]]
27+
// CHECK-arm64e: [[CTXT_PTR_INT:%[0-9]+]] = ptrtoint i8** [[CTXT_PTR]] to i64
28+
// CHECK-arm64e: [[PTRAUTH_BLEND:%[0-9]+]] = call i64 @llvm.ptrauth.blend.i64(i64 [[CTXT_PTR_INT]], i64 48546)
29+
// CHECK-arm64e: [[SIGNED_CTXT_INT:%[0-9]+]] = ptrtoint i8* [[SIGNED_CTXT]]
30+
// CHECK-arm64e: [[CTXT:%[0-9]+]] = call i64 @llvm.ptrauth.auth.i64(i64 [[SIGNED_CTXT_INT]], i32 2, i64 [[PTRAUTH_BLEND]])
31+
// CHECK-arm64e: %[[ALLOCA:[0-9+]]] = inttoptr i64 [[CTXT]] to i8*, !dbg !77
32+
// CHECK-arm64e: call void @llvm.dbg.declare(metadata i8* %[[ALLOCA]],
33+
// CHECK-arm64e-SAME: metadata ![[TAU_R:[0-9]+]], metadata !DIExpression(
34+
// CHECK-arm64e-SAME: DW_OP_deref, DW_OP_plus_uconst, [[OFFSET:[0-9]+]],
35+
// CHECK-arm64e-SAME: DW_OP_plus_uconst, {{[0-9]+}}))
36+
// CHECK-arm64e: call void @llvm.dbg.declare(metadata i8* %[[ALLOCA]],
37+
// CHECK-arm64e-SAME: metadata ![[MSG_R:[0-9]+]], metadata !DIExpression(
38+
// CHECK-arm64e-SAME: DW_OP_deref, DW_OP_plus_uconst, [[OFFSET]],
39+
// CHECK-arm64e-SAME: DW_OP_plus_uconst, {{[0-9]+}}, DW_OP_deref))
40+
41+
// CHECK-i386: call void @llvm.dbg.declare(metadata i8** %[[ALLOCA:[^,]+]],
42+
// CHECK-i386-SAME: metadata ![[MSG_R:[0-9]+]], metadata !DIExpression(
43+
// CHECK-i386-SAME: DW_OP_deref, DW_OP_plus_uconst, [[OFFSET:[0-9]+]],
44+
// CHECK-i386-SAME: DW_OP_plus_uconst, {{[0-9]+}}, DW_OP_deref))
45+
// CHECK-i386: call void @llvm.dbg.declare(metadata i8** %[[ALLOCA]],
46+
// CHECK-i386-SAME: metadata ![[TAU_R:[0-9]+]], metadata !DIExpression(
47+
// CHECK-i386-SAME: DW_OP_deref, DW_OP_plus_uconst, [[OFFSET]],
48+
// CHECK-i386-SAME: DW_OP_plus_uconst, {{[0-9]+}}))
49+
// CHECK-i386: store i8* %2, i8** %[[ALLOCA]], align
50+
51+
// CHECK-x86_64: call void @llvm.dbg.declare(metadata i8** %[[ALLOCA:[^,]+]],
52+
// CHECK-x86_64-SAME: metadata ![[MSG_R:[0-9]+]], metadata !DIExpression(
53+
// CHECK-x86_64-SAME: DW_OP_deref, DW_OP_plus_uconst, [[OFFSET:[0-9]+]],
54+
// CHECK-x86_64-SAME: DW_OP_plus_uconst, {{[0-9]+}}, DW_OP_deref))
55+
// CHECK-x86_64: call void @llvm.dbg.declare(metadata i8** %[[ALLOCA]],
56+
// CHECK-x86_64-SAME: metadata ![[TAU_R:[0-9]+]], metadata !DIExpression(
57+
// CHECK-x86_64-SAME: DW_OP_deref, DW_OP_plus_uconst, [[OFFSET]],
58+
// CHECK-x86_64-SAME: DW_OP_plus_uconst, {{[0-9]+}}))
59+
// CHECK-x86_64: store i8* %2, i8** %[[ALLOCA]], align
60+
61+
// CHECK-armv7: call void @llvm.dbg.declare(metadata i8** %[[ALLOCA:[^,]+]],
62+
// CHECK-armv7-SAME: metadata ![[MSG_R:[0-9]+]], metadata !DIExpression(
63+
// CHECK-armv7-SAME: DW_OP_deref, DW_OP_plus_uconst, [[OFFSET:[0-9]+]],
64+
// CHECK-armv7-SAME: DW_OP_plus_uconst, {{[0-9]+}}, DW_OP_deref))
65+
// CHECK-armv7: call void @llvm.dbg.declare(metadata i8** %[[ALLOCA]],
66+
// CHECK-armv7-SAME: metadata ![[TAU_R:[0-9]+]], metadata !DIExpression(
67+
// CHECK-armv7-SAME: DW_OP_deref, DW_OP_plus_uconst, [[OFFSET]],
68+
// CHECK-armv7-SAME: DW_OP_plus_uconst, {{[0-9]+}}))
69+
// CHECK-armv7: store i8* %2, i8** %[[ALLOCA]], align
70+
71+
// CHECK-arm64: call void @llvm.dbg.declare(metadata i8** %[[ALLOCA:[^,]+]],
72+
// CHECK-arm64-SAME: metadata ![[MSG_R:[0-9]+]], metadata !DIExpression(
73+
// CHECK-arm64-SAME: DW_OP_deref, DW_OP_plus_uconst, [[OFFSET:[0-9]+]],
74+
// CHECK-arm64-SAME: DW_OP_plus_uconst, {{[0-9]+}}, DW_OP_deref))
75+
// CHECK-arm64: call void @llvm.dbg.declare(metadata i8** %[[ALLOCA]],
76+
// CHECK-arm64-SAME: metadata ![[TAU_R:[0-9]+]], metadata !DIExpression(
77+
// CHECK-arm64-SAME: DW_OP_deref, DW_OP_plus_uconst, [[OFFSET]],
78+
// CHECK-arm64-SAME: DW_OP_plus_uconst, {{[0-9]+}}))
79+
// CHECK-arm64: store i8* %2, i8** %[[ALLOCA]], align
80+
81+
// CHECK-powerpc64: call void @llvm.dbg.declare(metadata i8** %[[ALLOCA:[^,]+]],
82+
// CHECK-powerpc64-SAME: metadata ![[MSG_R:[0-9]+]], metadata !DIExpression(
83+
// CHECK-powerpc64-SAME: DW_OP_deref, DW_OP_plus_uconst, [[OFFSET:[0-9]+]],
84+
// CHECK-powerpc64-SAME: DW_OP_plus_uconst, {{[0-9]+}}, DW_OP_deref))
85+
// CHECK-powerpc64: call void @llvm.dbg.declare(metadata i8** %[[ALLOCA]],
86+
// CHECK-powerpc64-SAME: metadata ![[TAU_R:[0-9]+]], metadata !DIExpression(
87+
// CHECK-powerpc64-SAME: DW_OP_deref, DW_OP_plus_uconst, [[OFFSET]],
88+
// CHECK-powerpc64-SAME: DW_OP_plus_uconst, {{[0-9]+}}))
89+
// CHECK-powerpc64: store i8* %2, i8** %[[ALLOCA]], align
90+
91+
// CHECK-powerpc64le: call void @llvm.dbg.declare(metadata i8** %[[ALLOCA:[^,]+]],
92+
// CHECK-powerpc64le-SAME: metadata ![[MSG_R:[0-9]+]], metadata !DIExpression(
93+
// CHECK-powerpc64le-SAME: DW_OP_deref, DW_OP_plus_uconst, [[OFFSET:[0-9]+]],
94+
// CHECK-powerpc64le-SAME: DW_OP_plus_uconst, {{[0-9]+}}, DW_OP_deref))
95+
// CHECK-powerpc64le: call void @llvm.dbg.declare(metadata i8** %[[ALLOCA]],
96+
// CHECK-powerpc64le-SAME: metadata ![[TAU_R:[0-9]+]], metadata !DIExpression(
97+
// CHECK-powerpc64le-SAME: DW_OP_deref, DW_OP_plus_uconst, [[OFFSET]],
98+
// CHECK-powerpc64le-SAME: DW_OP_plus_uconst, {{[0-9]+}}))
99+
// CHECK-powerpc64le: store i8* %2, i8** %[[ALLOCA]], align
32100

33101
use(msg)
34102
}

test/Driver/pipe_round_robin.swift.gyb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
// Windows doesn't track/use read() and poll()
22
// UNSUPPORTED: windows
3-
// REQUIRES: rdar73834542
43
// RUN: %empty-directory(%t/manyfuncs)
54
// RUN: %empty-directory(%t/stats)
65
//

test/Misc/stats_dir.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
// REQUIRES: rdar73834542
21
// RUN: %empty-directory(%t)
32
// RUN: %target-swift-frontend -c -o %t/out.o -stats-output-dir %t %s
43
// RUN: %{python} %utils/process-stats-dir.py --set-csv-baseline %t/frontend.csv %t

test/Misc/stats_dir_failure_count.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
// Check that a failed process-tree emits nonzero failure counters
2-
// REQUIRES: rdar73834542
32
// RUN: %empty-directory(%t)
43
// RUN: echo zzz >%t/other.swift
54
// RUN: not %target-swiftc_driver -continue-building-after-errors -D BROKEN -j 2 -typecheck -stats-output-dir %t %s %t/other.swift

test/Misc/stats_dir_instructions.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
// REQUIRES: OS=macosx
2-
// REQUIRES: rdar73834542
32
// RUN: %empty-directory(%t)
43
// RUN: %target-swiftc_driver -o %t/main -module-name main -stats-output-dir %t %s
54
// RUN: %{python} %utils/process-stats-dir.py --set-csv-baseline %t/frontend.csv %t

test/Misc/stats_dir_long_path_name.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
// REQUIRES: OS=macosx
2-
// REQUIRES: rdar73834542
32
// RUN: %empty-directory(%t)
43
// RUN: mkdir -p %t/very-long-directory-name-that-contains-over-128-characters-which-is-not-enough-to-be-illegal-on-its-own-but-presents
54
// RUN: cp %s %t/very-long-directory-name-that-contains-over-128-characters-which-is-not-enough-to-be-illegal-on-its-own-but-presents/a-problem-when-combined-with-other-long-path-elements-and-filenames-to-exceed-256-characters-combined-because-yay-arbitrary-limits-amirite.swift

test/Misc/stats_dir_plausible_maxrss.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
// REQUIRES: rdar73834542
21
// RUN: %empty-directory(%t)
32
// RUN: touch %t/main.swift
43
// RUN: %target-swiftc_driver -o %t/main -module-name main -stats-output-dir %t %t/main.swift

test/NameLookup/named_lazy_member_loading_anyobject.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
// REQUIRES: objc_interop
22
// REQUIRES: OS=macosx
3-
// REQUIRES: rdar73834542
43
//
54
// RUN: %target-swift-frontend -typecheck -I %S/Inputs/NamedLazyMembers %s -verify
65

0 commit comments

Comments
 (0)