Skip to content

Commit c5be31d

Browse files
Merge pull request #69061 from kateinoigakukun/pr-d10033ebdff
[test][IRGen] Cover more tests for WebAssembly target
2 parents 8879ff9 + 062299d commit c5be31d

File tree

5 files changed

+28
-5
lines changed

5 files changed

+28
-5
lines changed

test/IRGen/c_layout.sil

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,22 @@ bb0:
337337
// CHECK-s390x-LABEL: declare{{( dllimport)?}} signext i32 @ints(i32 signext)
338338
// CHECK-s390x-LABEL: declare{{( dllimport)?}} zeroext i32 @unsigneds(i32 zeroext)
339339

340+
// CHECK-wasm32-LABEL: define swiftcc void @testIntegerExtension(i8 %0, i8 %1, i8 %2, i16 %3, i16 %4, i32 %5, i32 %6) #0 {
341+
// CHECK-wasm32: call signext i8 @chareth(i8 signext %0)
342+
// CHECK-wasm32: call signext i8 @signedChareth(i8 signext %1)
343+
// CHECK-wasm32: call zeroext i8 @unsignedChareth(i8 zeroext %2)
344+
// CHECK-wasm32: call signext i16 @eatMyShorts(i16 signext %3)
345+
// CHECK-wasm32: call zeroext i16 @eatMyUnsignedShorts(i16 zeroext %4)
346+
// CHECK-wasm32: call i32 @ints(i32 %5)
347+
// CHECK-wasm32: call i32 @unsigneds(i32 %6)
348+
// CHECK-wasm32-LABEL: declare signext i8 @chareth(i8 signext) #0
349+
// CHECK-wasm32-LABEL: declare signext i8 @signedChareth(i8 signext) #0
350+
// CHECK-wasm32-LABEL: declare zeroext i8 @unsignedChareth(i8 zeroext) #0
351+
// CHECK-wasm32-LABEL: declare signext i16 @eatMyShorts(i16 signext) #0
352+
// CHECK-wasm32-LABEL: declare zeroext i16 @eatMyUnsignedShorts(i16 zeroext) #0
353+
// CHECK-wasm32-LABEL: declare i32 @ints(i32) #0
354+
// CHECK-wasm32-LABEL: declare i32 @unsigneds(i32) #0
355+
340356
sil @testIntegerExtension : $@convention(thin) (CChar, CSignedChar, CUnsignedChar, CShort, CUnsignedShort, CInt, CUnsignedInt) -> () {
341357
entry(%a : $CChar, %b : $CSignedChar, %c : $CUnsignedChar, %d : $CShort, %e : $CUnsignedShort, %f : $CInt, %g : $CUnsignedInt):
342358
%h = function_ref @chareth : $@convention(c) (CChar) -> CChar

test/IRGen/errors.sil

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ entry:
2525
// CHECK-LABEL-aarch64: define{{( dllexport)?}}{{( protected)?}} swiftcc void @does_throw(ptr swiftself %0, ptr swifterror %1) {{.*}} {
2626
// CHECK-LABEL-arm64_32: define{{( dllexport)?}}{{( protected)?}} swiftcc void @does_throw(ptr swiftself %0, ptr swifterror %1) {{.*}} {
2727
// CHECK-LABEL-arm64e: define{{( dllexport)?}}{{( protected)?}} swiftcc void @does_throw(ptr swiftself %0, ptr swifterror %1) {{.*}} {
28+
// CHECK-LABEL-wasm32: define swiftcc void @does_throw(ptr swiftself %0, ptr swifterror %1) {{.*}} {
2829
sil @does_throw : $@convention(thin) () -> @error Error {
2930
// CHECK: [[T0:%.*]] = call swiftcc ptr @create_error()
3031
%0 = function_ref @create_error : $@convention(thin) () -> @owned Error
@@ -49,6 +50,7 @@ sil @does_throw : $@convention(thin) () -> @error Error {
4950
// CHECK-LABEL-aarch64: define{{( dllexport)?}}{{( protected)?}} swiftcc void @doesnt_throw(ptr swiftself %0, ptr swifterror %1) {{.*}} {
5051
// CHECK-LABEL-arm64e: define{{( dllexport)?}}{{( protected)?}} swiftcc void @doesnt_throw(ptr swiftself %0, ptr swifterror %1) {{.*}} {
5152
// CHECK-LABEL-arm64_32: define{{( dllexport)?}}{{( protected)?}} swiftcc void @doesnt_throw(ptr swiftself %0, ptr swifterror %1) {{.*}} {
53+
// CHECK-LABEL-wasm32: define swiftcc void @doesnt_throw(ptr swiftself %0, ptr swifterror %1) {{.*}} {
5254
sil @doesnt_throw : $@convention(thin) () -> @error Error {
5355
// We don't have to do anything here because the caller always
5456
// zeroes the error slot before a call.
@@ -74,6 +76,7 @@ entry(%0 : $AnyObject):
7476
// CHECK-aarch64: [[ERRORSLOT:%.*]] = alloca [[SWIFTERROR:.*]] ptr, align
7577
// CHECK-arm64_32: [[ERRORSLOT:%.*]] = alloca [[SWIFTERROR:.*]] ptr, align
7678
// CHECK-powerpc64le: [[ERRORSLOT:%.*]] = alloca [[SWIFTERROR:.*]] ptr, align
79+
// CHECK-wasm32: [[ERRORSLOT:%.*]] = alloca [[SWIFTERROR:.*]] ptr, align
7780
// CHECK-NEXT: store ptr null, ptr [[ERRORSLOT]], align
7881

7982
// CHECK-objc-NEXT: [[RESULT:%.*]] = call swiftcc ptr @try_apply_helper(ptr %0, ptr swiftself undef, ptr noalias nocapture [[SWIFTERROR]]{{( )?}}dereferenceable({{.}}) [[ERRORSLOT]])

test/IRGen/has_symbol_clang.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@ public func testClangDecls() {
1111
}
1212

1313
// --- clangFunc(_:) ---
14-
// CHECK: define linkonce_odr hidden i1 @"$sSo9clangFuncyys5Int32VFTwS"() #1 {
14+
// CHECK: define linkonce_odr hidden i1 @"$sSo9clangFuncyys5Int32VFTwS"() #1{{( comdat)?}} {
1515
// CHECK: ret i1 icmp ne (ptr @clangFunc, ptr null)

test/IRGen/objc_simd.sil

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ func forceStuff(x: float4, y: float3) -> (Float, Float, Float, Float) {
2626
// powerpc64-LABEL: define{{( dllexport)?}}{{( protected)?}} <4 x float> @simd_c_args(<4 x float> %0)
2727
// powerpc64le-LABEL: define{{( dllexport)?}}{{( protected)?}} <4 x float> @simd_c_args(<4 x float> %0)
2828
// s390x-LABEL: define{{( dllexport)?}}{{( protected)?}} <4 x float> @simd_c_args(<4 x float> %0)
29+
// wasm32-LABEL: define{{( dllexport)?}}{{( protected)?}} <4 x float> @simd_c_args(<4 x float> %0)
2930
sil @simd_c_args : $@convention(c) (float4) -> float4 {
3031
entry(%x : $float4):
3132
return %x : $float4
@@ -47,6 +48,7 @@ entry(%x : $float4):
4748
// powerpc64-LABEL: define{{( dllexport)?}}{{( protected)?}} <3 x float> @simd_c_args_float3(<3 x float> %0)
4849
// powerpc64le-LABEL: define{{( dllexport)?}}{{( protected)?}} <3 x float> @simd_c_args_float3(<3 x float> %0)
4950
// s390x-LABEL: define{{( dllexport)?}}{{( protected)?}} <3 x float> @simd_c_args_float3(<3 x float> %0)
51+
// wasm32-LABEL: define{{( dllexport)?}}{{( protected)?}} <3 x float> @simd_c_args_float3(<3 x float> %0)
5052
sil @simd_c_args_float3 : $@convention(c) (float3) -> float3 {
5153
entry(%x : $float3):
5254
// x86_64: [[COERCE:%.*]] = alloca <3 x float>, align 16
@@ -66,6 +68,7 @@ entry(%x : $float3):
6668
// powerpc64-LABEL: define{{( dllexport)?}}{{( protected)?}} void @simd_native_args(ptr noalias nocapture sret({{.*}}) %0, ptr noalias nocapture dereferenceable({{.*}}) %1)
6769
// powerpc64le-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc { float, float, float, float } @simd_native_args(float %0, float %1, float %2, float %3)
6870
// s390x-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc { float, float, float, float } @simd_native_args(float %0, float %1, float %2, float %3)
71+
// wasm32-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc { float, float, float, float } @simd_native_args(float %0, float %1, float %2, float %3)
6972
sil @simd_native_args : $@convention(thin) (float4) -> float4 {
7073
entry(%x : $float4):
7174
%f = function_ref @simd_c_args : $@convention(c) (float4) -> float4
@@ -84,6 +87,7 @@ entry(%x : $float4):
8487
// powerpc64-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc { float, float, float } @simd_native_args_float3(float %0, float %1, float %2)
8588
// powerpc64le-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc { float, float, float } @simd_native_args_float3(float %0, float %1, float %2)
8689
// s390x-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc { float, float, float } @simd_native_args_float3(float %0, float %1, float %2)
90+
// wasm32-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc { float, float, float } @simd_native_args_float3(float %0, float %1, float %2)
8791
sil @simd_native_args_float3 : $@convention(thin) (float3) -> float3 {
8892
entry(%x : $float3):
8993
%f = function_ref @simd_c_args_float3 : $@convention(c) (float3) -> float3

test/IRGen/protocol_resilience.sil

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,19 +55,19 @@ import resilient_protocol
5555
// CHECK-SAME: %swift.protocol_requirement { i32 {{(-1745420271)|(17)}}, i32 0 },
5656

5757
// CHECK-SAME: %swift.protocol_requirement { i32 {{(-544407535)|(17)}},
58-
// CHECK-SAME: i32{{ | trunc \(i64 }}sub ([[INT]] ptrtoint (ptr @defaultC to [[INT]]),
58+
// CHECK-SAME: {{(i32( | trunc \(i64 )sub \()?}}[[INT]] ptrtoint (ptr @defaultC to [[INT]])
5959
// CHECK-SAME: },
6060

6161
// CHECK-SAME: %swift.protocol_requirement { i32 {{(1717370897)|(17)}},
62-
// CHECK-SAME: i32{{ | trunc \(i64 }}sub ([[INT]] ptrtoint (ptr @defaultD to [[INT]]),
62+
// CHECK-SAME: {{(i32( | trunc \(i64 )sub \()?}}[[INT]] ptrtoint (ptr @defaultD to [[INT]])
6363
// CHECK-SAME: },
6464

6565
// CHECK-SAME: %swift.protocol_requirement { i32 {{(297926657)|(1)}},
66-
// CHECK-SAME: i32{{ | trunc \(i64 }}sub ([[INT]] ptrtoint (ptr @defaultE to [[INT]]),
66+
// CHECK-SAME: {{(i32( | trunc \(i64 )sub \()?}}[[INT]] ptrtoint (ptr @defaultE to [[INT]])
6767
// CHECK-SAME: },
6868

6969
// CHECK-SAME: %swift.protocol_requirement { i32 {{(351797249)|(1)}},
70-
// CHECK-SAME: i32{{ | trunc \(i64 }}sub ([[INT]] ptrtoint (ptr @defaultF to [[INT]]),
70+
// CHECK-SAME: {{(i32( | trunc \(i64 )sub \()?}}[[INT]] ptrtoint (ptr @defaultF to [[INT]])
7171
// CHECK-SAME: }
7272
// CHECK-SAME: }
7373

0 commit comments

Comments
 (0)