Skip to content

Commit f20f021

Browse files
committed
Update SILGen tests
1 parent 25d1e53 commit f20f021

File tree

4 files changed

+26
-13
lines changed

4 files changed

+26
-13
lines changed

test/SILGen/errors.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -614,7 +614,8 @@ func test_variadic(_ cat: Cat) throws {
614614
// CHECK: [[T0:%.*]] = function_ref @$ss27_allocateUninitializedArray{{.*}}F
615615
// CHECK: [[T1:%.*]] = apply [[T0]]<Cat>([[N]])
616616
// CHECK: ([[ARRAY:%.*]], [[T2:%.*]]) = destructure_tuple [[T1]]
617-
// CHECK: [[ELT0:%.*]] = pointer_to_address [[T2]] : $Builtin.RawPointer to [strict] $*Cat
617+
// CHECK: [[MDI:%.*]] = mark_dependence [[T2]] : $Builtin.RawPointer on [[ARRAY]]
618+
// CHECK: [[ELT0:%.*]] = pointer_to_address [[MDI]] : $Builtin.RawPointer to [strict] $*Cat
618619
// Element 0.
619620
// CHECK: [[T0:%.*]] = function_ref @$s6errors10make_a_catAA3CatCyKF : $@convention(thin) () -> (@owned Cat, @error any Error)
620621
// CHECK: try_apply [[T0]]() : $@convention(thin) () -> (@owned Cat, @error any Error), normal [[NORM_0:bb[0-9]+]], error [[ERR_0:bb[0-9]+]]

test/SILGen/literals.swift

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ class TakesArrayLiteral<Element> : ExpressibleByArrayLiteral {
5252
// CHECK: [[ALLOCATE_VARARGS:%.*]] = function_ref @$ss27_allocateUninitializedArrayySayxG_BptBwlF
5353
// CHECK: [[ARR_TMP:%.*]] = apply [[ALLOCATE_VARARGS]]<Int>([[ARRAY_LENGTH]])
5454
// CHECK: ([[ARR:%.*]], [[ADDRESS:%.*]]) = destructure_tuple [[ARR_TMP]]
55-
// CHECK: [[POINTER:%.*]] = pointer_to_address [[ADDRESS]]
55+
// CHECK: [[MDI:%.*]] = mark_dependence [[ADDRESS]]
56+
// CHECK: [[POINTER:%.*]] = pointer_to_address [[MDI]]
5657
// CHECK: store [[TMP:%.*]] to [trivial] [[POINTER]]
5758
// CHECK: [[IDX1:%.*]] = integer_literal $Builtin.Word, 1
5859
// CHECK: [[POINTER1:%.*]] = index_addr [[POINTER]] : $*Int, [[IDX1]] : $Builtin.Word
@@ -76,7 +77,8 @@ class Klass {}
7677
// CHECK: [[ALLOCATE_VARARGS:%.*]] = function_ref @$ss27_allocateUninitializedArrayySayxG_BptBwlF
7778
// CHECK: [[ARR_TMP:%.*]] = apply [[ALLOCATE_VARARGS]]<Klass>([[ARRAY_LENGTH]])
7879
// CHECK: ([[ARR:%.*]], [[ADDRESS:%.*]]) = destructure_tuple [[ARR_TMP]]
79-
// CHECK: [[POINTER:%.*]] = pointer_to_address [[ADDRESS]]
80+
// CHECK: [[MDI:%.*]] = mark_dependence [[ADDRESS]]
81+
// CHECK: [[POINTER:%.*]] = pointer_to_address [[MDI]]
8082
// CHECK: [[KLASS_METATYPE:%.*]] = metatype $@thick Klass.Type
8183
// CHECK: [[CTOR:%.*]] = function_ref @$s8literals5KlassCACycfC : $@convention(method) (@thick Klass.Type) -> @owned Klass
8284
// CHECK: [[TMP:%.*]] = apply [[CTOR]]([[KLASS_METATYPE]]) : $@convention(method) (@thick Klass.Type) -> @owned Klass
@@ -100,7 +102,8 @@ struct Foo<T> {
100102
// CHECK: [[ALLOCATE_VARARGS:%.*]] = function_ref @$ss27_allocateUninitializedArrayySayxG_BptBwlF
101103
// CHECK: [[ARR_TMP:%.*]] = apply [[ALLOCATE_VARARGS]]<Foo<T>>([[ARRAY_LENGTH]])
102104
// CHECK: ([[ARR:%.*]], [[ADDRESS:%.*]]) = destructure_tuple [[ARR_TMP]]
103-
// CHECK: [[POINTER:%.*]] = pointer_to_address [[ADDRESS]]
105+
// CHECK: [[MDI:%.*]] = mark_dependence [[ADDRESS]]
106+
// CHECK: [[POINTER:%.*]] = pointer_to_address [[MDI]]
104107
// CHECK: copy_addr %0 to [init] [[POINTER]] : $*Foo<T>
105108
// CHECK: [[FIN_FN:%.*]] = function_ref @$ss27_finalizeUninitializedArrayySayxGABnlF
106109
// CHECK: [[FIN_ARR:%.*]] = apply [[FIN_FN]]<Foo<T>>([[ARR]])
@@ -117,7 +120,8 @@ func returnsAddressOnlyElementArray<T>(t: Foo<T>) -> TakesArrayLiteral<Foo<T>> {
117120
// CHECK: [[ALLOCATE_VARARGS:%.*]] = function_ref @$ss27_allocateUninitializedArrayySayxG_BptBwlF
118121
// CHECK: [[ARR_TMP:%.*]] = apply [[ALLOCATE_VARARGS]]<Foo<T>>([[ARRAY_LENGTH]])
119122
// CHECK: ([[ARR:%.*]], [[ADDRESS:%.*]]) = destructure_tuple [[ARR_TMP]]
120-
// CHECK: [[POINTER:%.*]] = pointer_to_address [[ADDRESS]]
123+
// CHECK: [[MDI:%.*]] = mark_dependence [[ADDRESS]]
124+
// CHECK: [[POINTER:%.*]] = pointer_to_address [[MDI]]
121125
// CHECK: copy_addr %0 to [init] [[POINTER]] : $*Foo<T>
122126
// CHECK: [[FIN_FN:%.*]] = function_ref @$ss27_finalizeUninitializedArrayySayxGABnlF
123127
// CHECK: [[FIN_ARR:%.*]] = apply [[FIN_FN]]<Foo<T>>([[ARR]])
@@ -136,7 +140,8 @@ extension Foo {
136140
// CHECK: [[ALLOCATE_VARARGS:%.*]] = function_ref @$ss27_allocateUninitializedArrayySayxG_BptBwlF
137141
// CHECK: [[ARR_TMP:%.*]] = apply [[ALLOCATE_VARARGS]]<Foo<T>>([[ARRAY_LENGTH]])
138142
// CHECK: ([[ARR:%.*]], [[ADDRESS:%.*]]) = destructure_tuple [[ARR_TMP]]
139-
// CHECK: [[POINTER:%.*]] = pointer_to_address [[ADDRESS]]
143+
// CHECK: [[MDI:%.*]] = mark_dependence [[ADDRESS]]
144+
// CHECK: [[POINTER:%.*]] = pointer_to_address [[MDI]]
140145
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unknown] %0 : $*Foo<T>
141146
// CHECK: copy_addr [[ACCESS]] to [init] [[POINTER]] : $*Foo<T>
142147
// CHECK: end_access [[ACCESS]] : $*Foo<T>
@@ -161,7 +166,8 @@ struct Foo2 {
161166
// CHECK: [[ALLOCATE_VARARGS:%.*]] = function_ref @$ss27_allocateUninitializedArrayySayxG_BptBwlF
162167
// CHECK: [[ARR_TMP:%.*]] = apply [[ALLOCATE_VARARGS]]<Foo2>([[ARRAY_LENGTH]])
163168
// CHECK: ([[ARR:%.*]], [[ADDRESS:%.*]]) = destructure_tuple [[ARR_TMP]]
164-
// CHECK: [[POINTER:%.*]] = pointer_to_address [[ADDRESS]]
169+
// CHECK: [[MDI:%.*]] = mark_dependence [[ADDRESS]]
170+
// CHECK: [[POINTER:%.*]] = pointer_to_address [[MDI]]
165171
// CHECK: [[METATYPE_FOO2:%.*]] = metatype $@thin Foo2.Type
166172
// CHECK: [[METATYPE_KLASS:%.*]] = metatype $@thick Klass.Type
167173
// CHECK: [[CTOR:%.*]] = function_ref @$s8literals5KlassCACycfC : $@convention(method) (@thick Klass.Type) -> @owned Klass
@@ -185,7 +191,8 @@ func returnsNonTrivialStruct() -> TakesArrayLiteral<Foo2> {
185191
// CHECK: [[ALLOCATE_VARARGS:%.*]] = function_ref @$ss27_allocateUninitializedArrayySayxG_BptBwlF
186192
// CHECK: [[ARR_TMP:%.*]] = apply [[ALLOCATE_VARARGS]]<NestedLValuePath>([[ARRAY_LENGTH]])
187193
// CHECK: ([[ARR:%.*]], [[ADDRESS:%.*]]) = destructure_tuple [[ARR_TMP]]
188-
// CHECK: [[POINTER:%.*]] = pointer_to_address [[ADDRESS]]
194+
// CHECK: [[MDI:%.*]] = mark_dependence [[ADDRESS]]
195+
// CHECK: [[POINTER:%.*]] = pointer_to_address [[MDI]]
189196

190197
// CHECK: [[ACCESS:%.*]] = begin_access [modify] [unknown] %0 : $*NestedLValuePath
191198
// CHECK: [[OTHER_FN:%.*]] = function_ref @$s8literals16NestedLValuePathV21otherMutatingFunctionACyF : $@convention(method) (@inout NestedLValuePath) -> @owned NestedLValuePath
@@ -223,7 +230,8 @@ protocol WrapsSelfInArray {}
223230
// CHECK: [[ALLOCATE_VARARGS:%.*]] = function_ref @$ss27_allocateUninitializedArrayySayxG_BptBwlF
224231
// CHECK: [[ARR_TMP:%.*]] = apply [[ALLOCATE_VARARGS]]<any WrapsSelfInArray>([[ARRAY_LENGTH]])
225232
// CHECK: ([[ARR:%.*]], [[ADDRESS:%.*]]) = destructure_tuple [[ARR_TMP]]
226-
// CHECK: [[POINTER:%.*]] = pointer_to_address [[ADDRESS]]
233+
// CHECK: [[MDI:%.*]] = mark_dependence [[ADDRESS]]
234+
// CHECK: [[POINTER:%.*]] = pointer_to_address [[MDI]]
227235
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unknown] %0 : $*Self
228236
// CHECK: [[EXISTENTIAL:%.*]] = init_existential_addr [[POINTER]] : $*any WrapsSelfInArray, $Self
229237
// CHECK: copy_addr [[ACCESS]] to [init] [[EXISTENTIAL]] : $*Self
@@ -252,7 +260,8 @@ func makeBasic<T : FooProtocol>() -> T { return T() }
252260
// CHECK: [[ALLOCATE_VARARGS:%.*]] = function_ref @$ss27_allocateUninitializedArrayySayxG_BptBwlF
253261
// CHECK: [[ARR_TMP:%.*]] = apply [[ALLOCATE_VARARGS]]<T>([[ARRAY_LENGTH]])
254262
// CHECK: ([[ARR:%.*]], [[ADDRESS:%.*]]) = destructure_tuple [[ARR_TMP]]
255-
// CHECK: [[POINTER:%.*]] = pointer_to_address [[ADDRESS]]
263+
// CHECK: [[MDI:%.*]] = mark_dependence [[ADDRESS]]
264+
// CHECK: [[POINTER:%.*]] = pointer_to_address [[MDI]]
256265
// CHECK: [[FN:%.*]] = function_ref @$s8literals9makeBasicxyAA11FooProtocolRzlF : $@convention(thin)
257266
// CHECK: [[TMP:%.*]] = apply [[FN]]<T>([[POINTER]])
258267
// CHECK: [[IDX:%.*]] = integer_literal $Builtin.Word, 1
@@ -285,7 +294,8 @@ class TakesDictionaryLiteral<Key, Value> : ExpressibleByDictionaryLiteral {
285294
// CHECK: [[ALLOCATE_VARARGS:%.*]] = function_ref @$ss27_allocateUninitializedArrayySayxG_BptBwlF : $@convention(thin) <τ_0_0> (Builtin.Word) -> (@owned Array<τ_0_0>, Builtin.RawPointer)
286295
// CHECK: [[ARR_TMP:%.*]] = apply [[ALLOCATE_VARARGS]]<(Int, Int)>([[ARRAY_LENGTH]])
287296
// CHECK: ([[ARR:%.*]], [[ADDRESS:%.*]]) = destructure_tuple [[ARR_TMP]]
288-
// CHECK: [[TUPLE_ADDR:%.*]] = pointer_to_address %9 : $Builtin.RawPointer to [strict] $*(Int, Int)
297+
// CHECK: [[MDI:%.*]] = mark_dependence [[ADDRESS]]
298+
// CHECK: [[TUPLE_ADDR:%.*]] = pointer_to_address [[MDI]] : $Builtin.RawPointer to [strict] $*(Int, Int)
289299
// CHECK: [[KEY_ADDR:%.*]] = tuple_element_addr [[TUPLE_ADDR]] : $*(Int, Int), 0
290300
// CHECK: [[VALUE_ADDR:%.*]] = tuple_element_addr [[TUPLE_ADDR]] : $*(Int, Int), 1
291301
// CHECK: store [[TMP]] to [trivial] [[KEY_ADDR]] : $*Int

test/SILGen/objc_bridging_array.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ func setChildren(p: Parent, c: Child) {
2222
// CHECK: [[FN:%.*]] = function_ref @$ss27_allocateUninitializedArrayySayxG_BptBwlF : $@convention(thin) <τ_0_0> (Builtin.Word) -> (@owned Array<τ_0_0>, Builtin.RawPointer)
2323
// CHECK: [[ARRAY_AND_BUFFER:%.*]] = apply [[FN]]<Child>([[LENGTH]]) : $@convention(thin) <τ_0_0> (Builtin.Word) -> (@owned Array<τ_0_0>, Builtin.RawPointer)
2424
// CHECK: ([[ARRAY:%.*]], [[BUFFER_PTR:%.*]]) = destructure_tuple [[ARRAY_AND_BUFFER]] : $(Array<Child>, Builtin.RawPointer)
25-
// CHECK: [[BUFFER:%.*]] = pointer_to_address [[BUFFER_PTR]] : $Builtin.RawPointer to [strict] $*Child
25+
// CHECK: [[MDI:%.*]] = mark_dependence [[BUFFER_PTR]] : $Builtin.RawPointer on [[ARRAY]]
26+
// CHECK: [[BUFFER:%.*]] = pointer_to_address [[MDI]] : $Builtin.RawPointer to [strict] $*Child
2627
// CHECK: [[CHILD:%.*]] = copy_value %1 : $Child
2728
// CHECK: store [[CHILD]] to [init] [[BUFFER]] : $*Child
2829
// CHECK: [[FIN_FN:%.*]] = function_ref @$ss27_finalizeUninitializedArrayySayxGABnlF

test/SILGen/scalar_to_tuple_args.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@ tupleWithDefaults(x: (x,x))
5555

5656
// CHECK: [[ALLOC_ARRAY:%.*]] = apply {{.*}} -> (@owned Array<τ_0_0>, Builtin.RawPointer)
5757
// CHECK: ([[ARRAY:%.*]], [[MEMORY:%.*]]) = destructure_tuple [[ALLOC_ARRAY]]
58-
// CHECK: [[ADDR:%.*]] = pointer_to_address [[MEMORY]]
58+
// CHECK: [[MDI:%.*]] = mark_dependence [[MEMORY]]
59+
// CHECK: [[ADDR:%.*]] = pointer_to_address [[MDI]]
5960
// CHECK: [[READ:%.*]] = begin_access [read] [dynamic] [[X_ADDR]] : $*Int
6061
// CHECK: copy_addr [[READ]] to [init] [[ADDR]]
6162
// CHECK: [[FIN_FN:%.*]] = function_ref @$ss27_finalizeUninitializedArrayySayxGABnlF

0 commit comments

Comments
 (0)