Skip to content

Commit 99655b5

Browse files
committed
---
yaml --- r: 347064 b: refs/heads/master c: 5a60e92 h: refs/heads/master
1 parent 6b2e51f commit 99655b5

18 files changed

+181
-103
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 67e87a17937073a7941a828206166083155a03b8
2+
refs/heads/master: 5a60e929523d95e67465087c67060d066f256c35
33
refs/heads/master-next: 203b3026584ecad859eb328b2e12490099409cd5
44
refs/tags/osx-passed: b6b74147ef8a386f532cf9357a1bde006e552c54
55
refs/tags/swift-2.2-SNAPSHOT-2015-12-01-a: 6bb18e013c2284f2b45f5f84f2df2887dc0f7dea

trunk/test/IRGen/abitypes.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) -I %S/Inputs/abi %s -emit-ir -enable-objc-interop | %FileCheck -check-prefix=%target-cpu-%target-os %s
22

33
// FIXME: rdar://problem/19648117 Needs splitting objc parts out
4-
// XFAIL: linux
4+
// XFAIL: linux, windows
55

66
import gadget
77
import Foundation

trunk/test/IRGen/c_functions.swift

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// RUN: %empty-directory(%t)
2-
// RUN: %target-swift-frontend -enable-objc-interop -disable-objc-attr-requires-foundation-module -import-objc-header %S/Inputs/c_functions.h -primary-file %s -emit-ir | %FileCheck %s -check-prefix CHECK -check-prefix %target-cpu
2+
// RUN: %target-swift-frontend -enable-objc-interop -disable-objc-attr-requires-foundation-module -import-objc-header %S/Inputs/c_functions.h -primary-file %s -emit-ir | %FileCheck %s -check-prefix CHECK -check-prefix %target-cpu -check-prefix %target-abi-%target-cpu
33

44
// This is deliberately not a SIL test so that we can test SILGen too.
55

@@ -22,7 +22,8 @@ func test_indirect_by_val_alignment() {
2222
// x86_64-LABEL: define hidden swiftcc void @"$s11c_functions30test_indirect_by_val_alignmentyyF"()
2323
// x86_64: %indirect-temporary = alloca %TSo7a_thinga, align [[ALIGN:[0-9]+]]
2424
// x86_64: [[CAST:%.*]] = bitcast %TSo7a_thinga* %indirect-temporary to %struct.a_thing*
25-
// x86_64: call void @log_a_thing(%struct.a_thing* byval align [[ALIGN]] [[CAST]])
25+
// SYSV-x86_64: call void @log_a_thing(%struct.a_thing* byval align [[ALIGN]] [[CAST]])
26+
// WIN-x86_64: call void @log_a_thing(%struct.a_thing* [[CAST]])
2627
// x86_64: define internal void @log_a_thing(%struct.a_thing* {{(byval align [[ALIGN]])?}}
2728

2829
// aarch64: define hidden swiftcc void @"$s11c_functions30test_indirect_by_val_alignmentyyF"()

trunk/test/IRGen/c_layout.sil

Lines changed: 38 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// RUN: %target-swift-frontend -I %S/Inputs/abi %s -emit-ir | %FileCheck %s --check-prefix=CHECK-%target-cpu
1+
// RUN: %target-swift-frontend -I %S/Inputs/abi %s -emit-ir | %FileCheck %s --check-prefix=CHECK-%target-cpu -check-prefix CHECK-%target-abi-%target-cpu
22

33
sil_stage canonical
44
import c_layout
@@ -10,7 +10,8 @@ import Swift
1010
// CHECK-x86_64: %TSo11BitfieldOneV = type <{ %Ts6UInt32V, %TSo6NestedV, [4 x i8], [4 x i8], %TSf, [1 x i8], [7 x i8], %Ts6UInt64V, %Ts6UInt32V, [4 x i8] }>
1111
// CHECK-x86_64: %TSo6NestedV = type <{ %TSf, [3 x i8], [1 x i8] }>
1212

13-
// CHECK-x86_64: %TSo26BitfieldSeparatorReferenceV = type [[BITFIELD_SEP_TYPE:<{ %Ts5UInt8V, \[3 x i8\], %Ts5UInt8V }>]]
13+
// CHECK-SYSV-x86_64: %TSo26BitfieldSeparatorReferenceV = type [[BITFIELD_SEP_TYPE:<{ %Ts5UInt8V, \[3 x i8\], %Ts5UInt8V }>]]
14+
// CHECK-WIN-x86_64: %TSo26BitfieldSeparatorReferenceV = type [[BITFIELD_SEP_TYPE:<{ %Ts5UInt8V, %Ts5UInt8V }>]]
1415
// CHECK-x86_64: %TSo25BitfieldSeparatorSameNameV = type [[BITFIELD_SEP_TYPE]]
1516
// CHECK-x86_64: %TSo36BitfieldSeparatorDifferentNameStructV = type [[BITFIELD_SEP_TYPE]]
1617
// CHECK-x86_64: %TSo21BitfieldSeparatorAnona = type [[BITFIELD_SEP_TYPE]]
@@ -27,7 +28,7 @@ bb0:
2728
%r = tuple ()
2829
return %r : $()
2930
}
30-
// CHECK-x86_64: define{{( protected)?}} swiftcc void @test0()
31+
// CHECK-x86_64: define{{( dllexport)?}}{{( protected)?}} swiftcc void @test0()
3132
// CHECK-x86_64: [[RESULT:%.*]] = alloca %TSo11BitfieldOneV, align 8
3233
// CHECK-x86_64: [[ARG:%.*]] = alloca %TSo11BitfieldOneV, align 8
3334
// Make the first call and pull all the values out of the indirect result.
@@ -89,7 +90,8 @@ bb0:
8990
// CHECK-x86_64: [[ADDR_M:%.*]] = getelementptr inbounds %TSo11BitfieldOneV, %TSo11BitfieldOneV* [[ARG]], i32 0, i32 8
9091
// CHECK-x86_64: [[ADDR_M_V:%.*]] = getelementptr inbounds %Ts6UInt32V, %Ts6UInt32V* [[ADDR_M]], i32 0, i32 0
9192
// CHECK-x86_64: store i32 [[M]], i32* [[ADDR_M_V]], align 8
92-
// CHECK-x86_64: call void @consumeBitfieldOne(%TSo11BitfieldOneV* byval align 8 [[ARG]])
93+
// CHECK-SYSV-x86_64: call void @consumeBitfieldOne(%TSo11BitfieldOneV* byval align 8 [[ARG]])
94+
// CHECK-WIN-x86_64: call void @consumeBitfieldOne(%TSo11BitfieldOneV* [[ARG]])
9395
// CHECK-x86_64: ret void
9496

9597

@@ -107,8 +109,10 @@ sil public_external @createSIMDStruct : $@convention(c) () -> SIMDStruct
107109
sil public_external @consumeSIMDStruct : $@convention(c) (SIMDStruct) -> ()
108110

109111
// CHECK-x86_64-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc void @testSIMDStruct()
110-
// CHECK-x86_64: call <3 x float> @createSIMDStruct
111-
// CHECK-x86_64: call void @consumeSIMDStruct(<3 x float>
112+
// CHECK-SYSV-x86_64: call <3 x float> @createSIMDStruct
113+
// CHECK-WIN-x86_64: call void @createSIMDStruct(%TSo10SIMDStructV* noalias nocapture sret %
114+
// CHECK-SYSV-x86_64: call void @consumeSIMDStruct(<3 x float>
115+
// CHECK-WIN-x86_64: call void @consumeSIMDStruct(%TSo10SIMDStructV* %
112116
sil @testSIMDStruct : $() -> () {
113117
bb0:
114118
%f = function_ref @createSIMDStruct : $@convention(c) () -> SIMDStruct
@@ -126,20 +130,32 @@ bb0:
126130
}
127131

128132
// CHECK-x86_64-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc void @testIntegerExtension
129-
// CHECK-x86_64: call signext i8 @chareth(i8 signext
130-
// CHECK-x86_64: call signext i8 @signedChareth(i8 signext
131-
// CHECK-x86_64: call zeroext i8 @unsignedChareth(i8 zeroext
132-
// CHECK-x86_64: call signext i16 @eatMyShorts(i16 signext
133-
// CHECK-x86_64: call zeroext i16 @eatMyUnsignedShorts(i16 zeroext
133+
// CHECK-SYSV-x86_64: call signext i8 @chareth(i8 signext
134+
// CHECK-WIN-x86_64: call i8 @chareth(i8
135+
// CHECK-SYSV-x86_64: call signext i8 @signedChareth(i8 signext
136+
// CHECK-WIN-x86_64: call i8 @signedChareth(i8
137+
// CHECK-SYSV-x86_64: call zeroext i8 @unsignedChareth(i8 zeroext
138+
// CHECK-WIN-x86_64: call i8 @unsignedChareth(i8
139+
// CHECK-SYSV-x86_64: call signext i16 @eatMyShorts(i16 signext
140+
// CHECK-WIN-x86_64: call i16 @eatMyShorts(i16
141+
// CHECK-SYSV-x86_64: call zeroext i16 @eatMyUnsignedShorts(i16 zeroext
142+
// CHECK-WIN-x86_64: call i16 @eatMyUnsignedShorts(i16
134143
// CHECK-x86_64: call i32 @ints(i32 %5)
135144
// CHECK-x86_64: call i32 @unsigneds(i32 %6)
136-
// CHECK-x86_64-LABEL: declare{{( dllimport)?}} signext i8 @chareth(i8 signext)
137-
// CHECK-x86_64-LABEL: declare{{( dllimport)?}} signext i8 @signedChareth(i8 signext)
138-
// CHECK-x86_64-LABEL: declare{{( dllimport)?}} zeroext i8 @unsignedChareth(i8 zeroext)
139-
// CHECK-x86_64-LABEL: declare{{( dllimport)?}} signext i16 @eatMyShorts(i16 signext)
140-
// CHECK-x86_64-LABEL: declare{{( dllimport)?}} zeroext i16 @eatMyUnsignedShorts(i16 zeroext)
141-
// CHECK-x86_64-LABEL: declare{{( dllimport)?}} i32 @ints(i32)
142-
// CHECK-x86_64-LABEL: declare{{( dllimport)?}} i32 @unsigneds(i32)
145+
// CHECK-SYSV-x86_64-LABEL: declare{{( dllimport)?}} signext i8 @chareth(i8 signext)
146+
// CHECK-WIN-x86_64-LABEL: declare{{( dllimport)?}} i8 @chareth(i8)
147+
// CHECK-SYSV-x86_64-LABEL: declare{{( dllimport)?}} signext i8 @signedChareth(i8 signext)
148+
// CHECK-WIN-x86_64-LABEL: declare{{( dllimport)?}} i8 @signedChareth(i8)
149+
// CHECK-SYSV-x86_64-LABEL: declare{{( dllimport)?}} zeroext i8 @unsignedChareth(i8 zeroext)
150+
// CHECK-WIN-x86_64-LABEL: declare{{( dllimport)?}} i8 @unsignedChareth(i8)
151+
// CHECK-SYSV-x86_64-LABEL: declare{{( dllimport)?}} signext i16 @eatMyShorts(i16 signext)
152+
// CHECK-WIN-x86_64-LABEL: declare{{( dllimport)?}} i16 @eatMyShorts(i16)
153+
// CHECK-SYSV-x86_64-LABEL: declare{{( dllimport)?}} zeroext i16 @eatMyUnsignedShorts(i16 zeroext)
154+
// CHECK-WIN-x86_64-LABEL: declare{{( dllimport)?}} i16 @eatMyUnsignedShorts(i16)
155+
// CHECK-SYSV-x86_64-LABEL: declare{{( dllimport)?}} i32 @ints(i32)
156+
// CHECK-WIN-x86_64-LABEL: declare{{( dllimport)?}} i32 @ints(i32)
157+
// CHECK-SYSV-x86_64-LABEL: declare{{( dllimport)?}} i32 @unsigneds(i32)
158+
// CHECK-WIN-x86_64-LABEL: declare{{( dllimport)?}} i32 @unsigneds(i32)
143159

144160
// CHECK-i386-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc void @testIntegerExtension
145161
// CHECK-i386: call signext i8 @chareth(i8 signext
@@ -314,13 +330,15 @@ entry(%a : $CChar, %b : $CSignedChar, %c : $CUnsignedChar, %d : $CShort, %e : $C
314330
// CHECK-x86_64-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc i8 @testIntegerExtensionInBlock(%objc_block*, i8)
315331
sil @testIntegerExtensionInBlock : $@convention(thin) (@owned @convention(block) (CChar) -> CChar, CChar) -> CChar {
316332
entry(%b : $@convention(block) (CChar) -> CChar, %c : $CChar):
317-
// CHECK-x86_64: call signext i8 {{%.*}}(%objc_block* {{%.*}}, i8 signext {{%.*}})
333+
// CHECK-SYSV-x86_64: call signext i8 {{%.*}}(%objc_block* {{%.*}}, i8 signext {{%.*}})
334+
// CHECK-WIN-x86_64: call i8 {{%.*}}(%objc_block* {{%.*}}, i8 {{%.*}})
318335
%r = apply %b(%c) : $@convention(block) (CChar) -> CChar
319336
return %r : $CChar
320337
}
321338

322339
// CHECK-x86_64-LABEL: define{{( dllexport)?}}{{( protected)?}} swiftcc void @testBitfieldInBlock
323-
// CHECK-x86_64: call void {{%.*}}(%TSo11BitfieldOneV* noalias nocapture sret {{%.*}}, %objc_block* {{%.*}}, %TSo11BitfieldOneV* byval align 8 {{%.*}})
340+
// CHECK-SYSV-x86_64: call void {{%.*}}(%TSo11BitfieldOneV* noalias nocapture sret {{%.*}}, %objc_block* {{%.*}}, %TSo11BitfieldOneV* byval align 8 {{%.*}})
341+
// CHECK-WIN-x86_64: call void {{%.*}}(%TSo11BitfieldOneV* noalias nocapture sret {{%.*}}, %objc_block* {{%.*}}, %TSo11BitfieldOneV* {{%.*}})
324342
sil @testBitfieldInBlock : $@convention(thin) (@owned @convention(block) (BitfieldOne) -> BitfieldOne, BitfieldOne) -> BitfieldOne {
325343
entry(%b : $@convention(block) (BitfieldOne) -> BitfieldOne, %x : $BitfieldOne):
326344
%r = apply %b(%x) : $@convention(block) (BitfieldOne) -> BitfieldOne

trunk/test/IRGen/class.sil

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// RUN: %target-swift-frontend -enable-objc-interop -emit-ir %s | %FileCheck %s
1+
// RUN: %target-swift-frontend -enable-objc-interop -emit-ir %s | %FileCheck %s -check-prefix CHECK -check-prefix CHECK-%target-import-type
22

33
// REQUIRES: CPU=x86_64
44

@@ -18,29 +18,31 @@ sil_vtable C {}
1818
// <rdar://14812566>: include _Tt prefix here
1919
// CHECK: [[C_NAME:@.*]] = private unnamed_addr constant [13 x i8] c"_TtC5class1C\00"
2020

21-
// CHECK: @_DATA__TtC5class1C = private constant {{.*}} {
22-
// \ CHECK: i32 128,
23-
// \ CHECK: i32 16,
24-
// \ CHECK: i32 16,
25-
// \ CHECK: i32 0,
26-
// \ CHECK: i8* null,
27-
// \ CHECK: i8* getelementptr inbounds ([13 x i8], [13 x i8]* [[C_NAME]], i64 0, i64 0),
28-
// \ CHECK: i8* null,
29-
// \ CHECK: i8* null,
30-
// \ CHECK: i8* null,
31-
// \ CHECK: i8* null,
32-
// \ CHECK: i8* null
33-
// \ CHECK: }
34-
35-
// CHECK: @"$s5class1CCMf" = internal global <{ {{.*}} }> <{
36-
// \ CHECK: void ([[C_CLASS]]*)* @"$s5class1CCfD",
37-
// \ CHECK: i8** {{@"\$sBoWV"|null}},
38-
// \ CHECK: i64 ptrtoint ([[OBJCCLASS]]* @"$s5class1CCMm" to i64),
39-
// \ CHECK: [[OBJCCLASS]]* @"OBJC_CLASS_$_{{(_TtCs12_)?}}SwiftObject",
40-
// \ CHECK: [[OPAQUE]]* @_objc_empty_cache,
41-
// \ CHECK: [[OPAQUE]]* null,
42-
// \ CHECK: i64 add (i64 ptrtoint ({{.*}}* @_DATA__TtC5class1C to i64), i64 1)
43-
// \ CHECK: }>
21+
// CHECK: @_DATA__TtC5class1C = private constant {{.*}} {
22+
// CHECK-SAME: i32 128,
23+
// CHECK-SAME: i32 16,
24+
// CHECK-SAME: i32 16,
25+
// CHECK-SAME: i32 0,
26+
// CHECK-SAME: i8* null,
27+
// CHECK-SAME: i8* getelementptr inbounds ([13 x i8], [13 x i8]* [[C_NAME]], i64 0, i64 0),
28+
// CHECK-SAME: i8* null,
29+
// CHECK-SAME: i8* null,
30+
// CHECK-SAME: i8* null,
31+
// CHECK-SAME: i8* null,
32+
// CHECK-SAME: i8* null
33+
// CHECK-SAME: }
34+
35+
// CHECK: @"$s5class1CCMf" = internal global <{ {{.*}} }> <{
36+
// CHECK-SAME: void ([[C_CLASS]]*)* @"$s5class1CCfD",
37+
// CHECK-DIRECT-SAME: i8** @"$sBoWV",
38+
// CHECK-INDIRECT-SAME: i8** null,
39+
// CHECK-SAME: i64 ptrtoint ([[OBJCCLASS]]* @"$s5class1CCMm" to i64),
40+
// CHECK-DIRECT-SAME: [[OBJCCLASS]]* @"OBJC_CLASS_$_{{(_TtCs12_)?}}SwiftObject",
41+
// CHECK-INDIRECT-SAME: %swift.type* null,
42+
// CHECK-SAME: [[OPAQUE]]* @_objc_empty_cache,
43+
// CHECK-SAME: [[OPAQUE]]* null,
44+
// CHECK-SAME: i64 add (i64 ptrtoint ({{.*}}* @_DATA__TtC5class1C to i64), i64 1)
45+
// CHECK-SAME: }>
4446

4547
// Destroying destructor
4648
// CHECK: define{{( dllexport)?}}{{( protected)?}} swiftcc [[REF]]* @"$s5class1CCfd"([[C_CLASS]]* swiftself) {{.*}} {

trunk/test/IRGen/class_metadata.swift

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
// RUN: %empty-directory(%t)
22
// RUN: %{python} %utils/chex.py < %s > %t/class_metadata.swift
3-
// RUN: %target-swift-frontend -emit-ir %s | %FileCheck %t/class_metadata.swift -check-prefix=CHECK -check-prefix=CHECK-%target-ptrsize
3+
// RUN: %target-swift-frontend -emit-ir %s | %FileCheck %t/class_metadata.swift -check-prefix=CHECK -check-prefix=CHECK-%target-ptrsize -check-prefix CHECK-%target-import-type
44

55
class A {}
66

77
// CHECK: [[A_NAME:@.*]] = private constant [2 x i8] c"A\00"
88
// CHECK-LABEL: @"$s14class_metadata1ACMn" =
99
// Flags. 0x8000_0050 == HasVTable | Unique | Class
10-
// CHECK-SAME: <i32 0x8000_0050>,
10+
// CHECK-DIRECT-SAME: <i32 0x8000_0050>,
11+
// CHECK-INDIRECT-SAME: <i32 0x8001_0050>,
1112
// Parent.
1213
// CHECK-SAME: i32 {{.*}} @"$s14class_metadataMXM"
1314
// Name.
@@ -43,7 +44,8 @@ class B : A {}
4344
// CHECK: [[B_NAME:@.*]] = private constant [2 x i8] c"B\00"
4445
// CHECK-LABEL: @"$s14class_metadata1BCMn" =
4546
// Flags. 0x4000_0050 == HasOverrideTable | Unique | Class
46-
// CHECK-SAME: <i32 0x4000_0050>,
47+
// CHECK-DIRECT-SAME: <i32 0x4000_0050>,
48+
// CHECK-INDIRECT-SAME: <i32 0x4001_0050>,
4749
// Parent.
4850
// CHECK-SAME: i32 {{.*}} @"$s14class_metadataMXM"
4951
// Name.
@@ -70,7 +72,8 @@ class B : A {}
7072
// Override table entry #1: base class.
7173
// CHECK-SAME: @"$s14class_metadata1ACMn"
7274
// Override table entry #1: base method.
73-
// CHECK-SAME: @"$s14class_metadata1ACMn", i32 0, i32 13
75+
// CHECK-DIRECT-SAME: @"$s14class_metadata1ACMn", i32 0, i32 13
76+
// CHECK-INDIRECT-SAME: @"$s14class_metadata1ACMn", i32 0, i32 16
7477
// Override table entry #1: invocation function.
7578
// CHECK-SAME: @"$s14class_metadata1BCACycfC"
7679

@@ -126,7 +129,8 @@ class C<T> : B {}
126129
// Override table entry #1: base class.
127130
// CHECK-SAME: @"$s14class_metadata1ACMn"
128131
// Override table entry #1: base method.
129-
// CHECK-SAME: @"$s14class_metadata1ACMn", i32 0, i32 13
132+
// CHECK-DIRECT-SAME: @"$s14class_metadata1ACMn", i32 0, i32 13
133+
// CHECK-INDIRECT-SAME: @"$s14class_metadata1ACMn", i32 0, i32 16
130134
// Override table entry #1: invocation function.
131135
// CHECK-SAME: @"$s14class_metadata1CCACyxGycfC"
132136
// CHECK-SAME: }>, section
@@ -142,7 +146,8 @@ class D : E {}
142146
// CHECK: [[D_NAME:@.*]] = private constant [2 x i8] c"D\00"
143147
// CHECK-LABEL: @"$s14class_metadata1DCMn" =
144148
// Flags. 0x4200_0050 == HasOverrideTable | Unique | Class
145-
// CHECK-SAME: <i32 0x4000_0050>,
149+
// CHECK-DIRECT-SAME: <i32 0x4000_0050>,
150+
// CHECK-INDIRECT-SAME: <i32 0x4001_0050>,
146151
// Parent.
147152
// CHECK-SAME: i32 {{.*}} @"$s14class_metadataMXM"
148153
// Name.

trunk/test/IRGen/condfail.sil

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import Swift
88

99
// CHECK-LABEL: test_cond_fail:
1010

11-
// CHECK-x86_64: .cfi_startproc
11+
// CHECK-x86_64: {{.cfi_startproc|Lfunc_begin}}
1212
// CHECK-i386: .cfi_startproc
1313
// CHECK-arm64: .cfi_startproc
1414
// CHECK-armv7: Lfunc_begin
@@ -20,10 +20,14 @@ import Swift
2020
// CHECK-OPT-macosx: ## InlineAsm End
2121
// CHECK-OPT-linux: ##APP
2222
// CHECK-OPT-linux: ##NO_APP
23+
// CHECK-OPT-windows: ##APP
24+
// CHECK-OPT-windows: ##NO_APP
2325
// CHECK-NOOPT-macosx-NOT: ## InlineAsm Start
2426
// CHECK-NOOPT-macosx-NOT: ## InlineAsm End
2527
// CHECK-NOOPT-linux-NOT: ##APP
2628
// CHECK-NOOPT-linux-NOT: ##NO_APP
29+
// CHECK-NOOPT-windows-NOT: ##APP
30+
// CHECK-NOOPT-windows-NOT: ##NO_APP
2731
// CHECK-x86_64: ud2
2832
// CHECK-i386: ud2
2933
// CHECK-arm64: brk
@@ -32,7 +36,7 @@ import Swift
3236
// CHECK-powerpc64: trap
3337
// CHECK-powerpc64le: trap
3438
// CHECK-s390x: j .Ltmp{{[0-9]+}}+2
35-
// CHECK-NOT-x86_64: .cfi_endproc
39+
// CHECK-NOT-x86_64: {{.cfi_endproc|Lfunc_end}}
3640
// CHECK-NOT-i386: .cfi_endproc
3741
// CHECK-NOT-arm64: .cfi_endproc
3842
// CHECK-NOT-armv7: Lfunc_end
@@ -44,10 +48,14 @@ import Swift
4448
// CHECK-OPT-macosx: ## InlineAsm End
4549
// CHECK-OPT-linux: ##APP
4650
// CHECK-OPT-linux: ##NO_APP
51+
// CHECK-OPT-windows: ##APP
52+
// CHECK-OPT-windows: ##NO_APP
4753
// CHECK-NOOPT-macosx-NOT: ## InlineAsm Start
4854
// CHECK-NOOPT-macosx-NOT: ## InlineAsm End
4955
// CHECK-NOOPT-linux-NOT: ##APP
5056
// CHECK-NOOPT-linux-NOT: ##NO_APP
57+
// CHECK-NOOPT-windows-NOT: ##APP
58+
// CHECK-NOOPT-windows-NOT: ##NO_APP
5159
// CHECK-x86_64: ud2
5260
// CHECK-i386: ud2
5361
// CHECK-arm64: brk
@@ -56,7 +64,7 @@ import Swift
5664
// CHECK-powerpc64: trap
5765
// CHECK-powerpc64le: trap
5866
// CHECK-s390x: j .Ltmp{{[0-9]+}}+2
59-
// CHECK-x86_64: .cfi_endproc
67+
// CHECK-x86_64: {{.cfi_endproc|Lfunc_end}}
6068
// CHECK-i386: .cfi_endproc
6169
// CHECK-arm64: .cfi_endproc
6270
// CHECK-armv7: Lfunc_end

trunk/test/IRGen/enum_top_bits_reserved.sil

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
// RUN: %swift -module-name test -emit-ir -disable-legacy-type-info -target arm64-apple-ios10.0 %s | %FileCheck %s -check-prefix=CHECK -check-prefix=CHECK-arm64
22
// RUN: %swift -module-name test -emit-ir -disable-legacy-type-info -target x86_64-apple-macosx10.12 %s | %FileCheck %s -check-prefix=CHECK -check-prefix=CHECK-x86_64
33

4+
// REQUIRES: CODEGENERATOR=X86
5+
// REQUIRES: CODEGENERATOR=AArch64
6+
47
class NativeClass {}
58
sil_vtable NativeClass {}
69

trunk/test/IRGen/exactcast.sil

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// RUN: %target-swift-frontend -enable-objc-interop -emit-ir %s | %FileCheck %s
1+
// RUN: %target-swift-frontend -enable-objc-interop -emit-ir %s | %FileCheck %s -check-prefix CHECK -check-prefix CHECK-%target-import-type
22

33
// REQUIRES: CPU=x86_64
44

@@ -24,8 +24,10 @@ class ParentNode : Node {
2424
sil @_test_exact_checked_cast_branch : $@convention(method) (@guaranteed Node) -> Int {
2525
bb0(%0 : $Node):
2626
//CHECK-LABEL: define{{.*}}@_test_exact_checked_cast_branch
27-
//CHECK: = load %swift.type
28-
//CHECK-NEXT: = icmp eq %swift.type
27+
//CHECK: [[LOAD:%.*]] = load %swift.type
28+
//CHECK-DIRECT-NEXT: = icmp eq %swift.type
29+
//CHECK-INDIRECT-NEXT: = bitcast %swift.type* [[LOAD]] to %objc_class*
30+
//CHECK-INDIRECT-NEXT: = icmp eq %objc_class*
2931
//CHECK-NEXT: = bitcast
3032
//CHECK-NEXT: br i1
3133
checked_cast_br [exact] %0 : $Node to $ParentNode, bb2, bb3 // id: %2

0 commit comments

Comments
 (0)