From c8883e1d338c994064c362fa5d4bc5df81f3124f Mon Sep 17 00:00:00 2001 From: Anthony Latsis Date: Thu, 4 Sep 2025 01:02:14 +0100 Subject: [PATCH 1/2] [test][Windows] Fix `IRGen/dllexport.swift` failure on rebranch This function has an additional `captures(ret: address, provenance)` attribute after `swiftself` on rebranch (stable/21.x). --- test/IRGen/dllexport.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/IRGen/dllexport.swift b/test/IRGen/dllexport.swift index 50b6a491a7ce6..a05e1d8566f36 100644 --- a/test/IRGen/dllexport.swift +++ b/test/IRGen/dllexport.swift @@ -30,7 +30,7 @@ open class d { // CHECK-DAG: @"$s9dllexport1dCN" = dllexport alias %swift.type // CHECK-OPT-DAG: @"$s9dllexport1dC1m33_C57BA610BA35E21738CC992438E660E9LLs5NeverOyF" = dllexport alias void (), ptr @_swift_dead_method_stub // CHECK-DAG: define dllexport swiftcc ptr @"$s9dllexport1cCfd"(ptr{{.*}}) -// CHECK-DAG: define dllexport swiftcc ptr @"$s9dllexport1cCACycfc"(ptr{{.*}} swiftself %0) +// CHECK-DAG: define dllexport swiftcc ptr @"$s9dllexport1cCACycfc"(ptr{{.*}} swiftself{{.*}} %0) // CHECK-DAG: define dllexport swiftcc {{(noalias )?}}ptr @"$s9dllexport1cCACycfC"(ptr swiftself %0) // CHECK-DAG: define dllexport swiftcc {{(noundef )?(nonnull )?}}ptr @"$s9dllexport2ciAA1cCvau"() // CHECK-NO-OPT-DAG: define dllexport swiftcc void @"$s9dllexport1dC1m33_C57BA610BA35E21738CC992438E660E9LLs5NeverOyF"(ptr swiftself %0) From 65285ff2d0bc8719386671c240cae2dd3459f157 Mon Sep 17 00:00:00 2001 From: Anthony Latsis Date: Thu, 4 Sep 2025 01:07:14 +0100 Subject: [PATCH 2/2] [test][Windows] Fix `Interop/Cxx/class/method/msvc-abi-return-indirect-trivial-record.swift` failure on rebranch On rebranch the `captures(none)` attribute comes after `sret`. Both the syntax and relative order of the LLVM `nocapture` parameter attribute changed in llvm/llvm-project#123181. --- .../method/msvc-abi-return-indirect-trivial-record.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/Interop/Cxx/class/method/msvc-abi-return-indirect-trivial-record.swift b/test/Interop/Cxx/class/method/msvc-abi-return-indirect-trivial-record.swift index ebc02d41c1ecf..001fccc59c594 100644 --- a/test/Interop/Cxx/class/method/msvc-abi-return-indirect-trivial-record.swift +++ b/test/Interop/Cxx/class/method/msvc-abi-return-indirect-trivial-record.swift @@ -67,5 +67,5 @@ public func passTempForIndirectRetToVoidCall() { // CHECK: i32 @"$sSo18LoadableIntWrapperV2peoiyA2Bz_ABtFZ"(ptr // CHECK: %[[OPRESULT:.*]] = alloca %TSo18LoadableIntWrapperV, align 4 -// CHECK-x86_64: call void @"??YLoadableIntWrapper@@QEAA?AU0@U0@@Z"(ptr {{.*}}, ptr {{.*}} sret(%TSo18LoadableIntWrapperV) %[[OPRESULT]], i32 -// CHECK-aarch64: call void @"??YLoadableIntWrapper@@QEAA?AU0@U0@@Z"(ptr {{.*}}, ptr {{.*}} sret(%TSo18LoadableIntWrapperV) %[[OPRESULT]], i64 +// CHECK-x86_64: call void @"??YLoadableIntWrapper@@QEAA?AU0@U0@@Z"(ptr {{.*}}, ptr {{.*}} sret(%TSo18LoadableIntWrapperV){{.*}} %[[OPRESULT]], i32 +// CHECK-aarch64: call void @"??YLoadableIntWrapper@@QEAA?AU0@U0@@Z"(ptr {{.*}}, ptr {{.*}} sret(%TSo18LoadableIntWrapperV){{.*}} %[[OPRESULT]], i64