1
- // RUN: %target-swift-frontend -parse-as-library -primary-file %s -O -sil-verify-all -module-name=test -Xllvm -sil-print-types - emit-sil | grep -v debug_value | %FileCheck %s
2
- // RUN: %target-swift-frontend -parse-as-library -primary-file %s -Osize -sil-verify-all -module-name=test -Xllvm -sil-print-types - emit-sil | grep -v debug_value | %FileCheck %s
1
+ // RUN: %target-swift-frontend -parse-as-library -primary-file %s -O -sil-verify-all -module-name=test -emit-sil | grep -v debug_value | %FileCheck %s
2
+ // RUN: %target-swift-frontend -parse-as-library -primary-file %s -Osize -sil-verify-all -module-name=test -emit-sil | grep -v debug_value | %FileCheck %s
3
3
// REQUIRES: swift_stdlib_no_asserts,optimized_stdlib
4
4
// REQUIRES: swift_in_compiler
5
5
@@ -15,8 +15,8 @@ public struct TestOptions: OptionSet {
15
15
16
16
// CHECK-LABEL: sil_global hidden [let] @$s4test17globalTestOptionsAA0cD0Vvp : $TestOptions = {
17
17
// CHECK: [[CONST:%.*]] = integer_literal $Builtin.Int{{32|64}}, 15
18
- // CHECK: [[INT:%.*]] = struct $Int (%0 : $Builtin.Int{{32|64}} )
19
- // CHECK: %initval = struct $TestOptions ([[INT]] : $Int )
18
+ // CHECK: [[INT:%.*]] = struct $Int (%0)
19
+ // CHECK: %initval = struct $TestOptions ([[INT]])
20
20
let globalTestOptions : TestOptions = [ . first, . second, . third, . fourth]
21
21
22
22
// CHECK-LABEL: sil @$s4test17returnTestOptionsAA0cD0VyF
@@ -33,12 +33,22 @@ public func returnTestOptions() -> TestOptions {
33
33
34
34
// CHECK-LABEL: sil @$s4test22returnEmptyTestOptionsAA0dE0VyF
35
35
// CHECK: bb0:
36
- // CHECK-NEXT: integer_literal {{.*}}, 0
37
- // CHECK-NEXT: struct $Int
38
- // CHECK: builtin "onFastPath"() : $()
39
- // CHECK-NEXT: struct $TestOptions
40
- // CHECK-NEXT: return
36
+ // CHECK-NEXT: [[ZERO:%.*]] = integer_literal {{.*}}, 0
37
+ // CHECK: [[I:%.*]] = struct $Int ([[ZERO]]
38
+ // CHECK: [[T:%.*]] = struct $TestOptions
39
+ // CHECK: return [[T]]
41
40
// CHECK: } // end sil function '$s4test22returnEmptyTestOptionsAA0dE0VyF'
42
41
public func returnEmptyTestOptions( ) -> TestOptions {
43
42
return [ ]
44
43
}
44
+
45
+ extension TestOptions {
46
+ // CHECK-LABEL: sil @$s4test11TestOptionsV12insertSecondyyF :
47
+ // CHECK-NOT: bb1
48
+ // CHECK: builtin "or
49
+ // CHECK-NOT: bb1
50
+ // CHECK: } // end sil function '$s4test11TestOptionsV12insertSecondyyF'
51
+ public mutating func insertSecond( ) {
52
+ insert ( . second)
53
+ }
54
+ }
0 commit comments