Skip to content

Commit 10f13a3

Browse files
committed
Fix lit tests for unsafeAddress mark_dependence
1 parent cd66b87 commit 10f13a3

File tree

3 files changed

+16
-10
lines changed

3 files changed

+16
-10
lines changed

test/SILGen/addressors.swift

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,12 @@ func test0() {
5555
// CHECK: store [[AVAL]] to [[A]]
5656
var a = A()
5757

58+
// CHECK: [[ACCESS:%.*]] = begin_access [read] [static] [[A]] : $*A
5859
// CHECK: [[T0:%.*]] = function_ref @$s10addressors1AVys5Int32VAEcilu :
5960
// CHECK: [[T1:%.*]] = apply [[T0]]({{%.*}}, [[AVAL]])
6061
// CHECK: [[T2:%.*]] = struct_extract [[T1]] : $UnsafePointer<Int32>, #UnsafePointer._rawValue
6162
// CHECK: [[T3:%.*]] = pointer_to_address [[T2]] : $Builtin.RawPointer to [strict] $*Int32
62-
// CHECK: [[MD:%.*]] = mark_dependence [[T3]] : $*Int32 on [[AVAL]] : $A
63+
// CHECK: [[MD:%.*]] = mark_dependence [nonescaping] [[T3]] : $*Int32 on [[ACCESS]] : $*A
6364
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unsafe] [[MD]] : $*Int32
6465
// CHECK: [[Z:%.*]] = load [[ACCESS]] : $*Int32
6566
let z = a[10]
@@ -96,7 +97,7 @@ func test1() -> Int32 {
9697
// CHECK: [[PTR:%.*]] = apply [[ACCESSOR]]({{%.*}}, [[A]]) : $@convention(method) (Int32, A) -> UnsafePointer<Int32>
9798
// CHECK: [[T0:%.*]] = struct_extract [[PTR]] : $UnsafePointer<Int32>, #UnsafePointer._rawValue
9899
// CHECK: [[T1:%.*]] = pointer_to_address [[T0]] : $Builtin.RawPointer to [strict] $*Int32
99-
// CHECK: [[MD:%.*]] = mark_dependence [[T1]] : $*Int32 on [[A]] : $A
100+
// CHECK: [[MD:%.*]] = mark_dependence [nonescaping] [[T1]] : $*Int32 on [[A]] : $A
100101
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unsafe] [[MD]] : $*Int32
101102
// CHECK: [[T2:%.*]] = load [[ACCESS]] : $*Int32
102103
// CHECK: return [[T2]] : $Int32
@@ -192,7 +193,7 @@ func test_carray(_ array: inout CArray<(Int32) -> Int32>) -> Int32 {
192193
// CHECK: [[T2:%.*]] = apply [[T1]]<(Int32) -> Int32>({{%.*}}, [[T0]])
193194
// CHECK: [[T3:%.*]] = struct_extract [[T2]] : $UnsafePointer<(Int32) -> Int32>, #UnsafePointer._rawValue
194195
// CHECK: [[T4:%.*]] = pointer_to_address [[T3]] : $Builtin.RawPointer to [strict] $*@callee_guaranteed @substituted <τ_0_0, τ_0_1> (@in_guaranteed τ_0_0) -> @out τ_0_1 for <Int32, Int32>
195-
// CHECK: [[MD:%.*]] = mark_dependence [[T4]] : $*@callee_guaranteed @substituted <τ_0_0, τ_0_1>
196+
// CHECK: [[MD:%.*]] = mark_dependence [nonescaping] [[T4]] : $*@callee_guaranteed @substituted <τ_0_0, τ_0_1>
196197
// (@in_guaranteed τ_0_0) -> @out τ_0_1 for <Int32, Int32> on [[T0]] : $CArray<(Int32) -> Int32>
197198
// CHECK: [[ACCESS:%.*]] = begin_access [read] [unsafe] [[MD]]
198199
// CHECK: [[T5:%.*]] = load [[ACCESS]]
@@ -283,7 +284,7 @@ struct E {
283284
// CHECK: [[T1:%.*]] = apply [[T0]]([[E]])
284285
// CHECK: [[T2:%.*]] = struct_extract [[T1]]
285286
// CHECK: [[T3:%.*]] = pointer_to_address [[T2]]
286-
// CHECK: [[MD:%.*]] = mark_dependence [[T3]] : $*Int32 on %0 : $E
287+
// CHECK: [[MD:%.*]] = mark_dependence [nonescaping] [[T3]] : $*Int32 on %0 : $E
287288
// CHECK: [[ACCESS:%.*]] = begin_access [modify] [unsafe] [[MD]] : $*Int32
288289
// CHECK: store {{%.*}} to [[ACCESS]] : $*Int32
289290
func test_e(_ e: E) {

test/SILGen/moveonly_subscript_addressor.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ func load(b: UnsafeMutableBufferPointer<Foo>) -> Int {
1212
// Ensure the borrowing invocation of `load` happens within the access to
1313
// the pointed-at memory.
1414
// CHECK: [[PTR:%.*]] = pointer_to_address
15-
// CHECK: [[MD:%.*]] = mark_dependence [unresolved] [[PTR]] : $*Foo on %0 : $UnsafeMutableBufferPointer<Foo>
15+
// CHECK: [[MD:%.*]] = mark_dependence [unresolved] [[PTR]] on %0
1616
// CHECK: [[BEGIN:%.*]] = begin_access [read] [unsafe] [[MD]]
1717
// CHECK: [[FN:%.*]] = function_ref @load
1818
// CHECK: apply [[FN]]

test/SILGen/read_requirements.swift

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1190,7 +1190,8 @@ public struct ImplAUnsafeAddressors : P1 {
11901190
// CHECK: [[UNSAFE_POINTER:%[^,]+]] = apply [[UNSAFE_ADDRESSOR]]([[SELF]])
11911191
// CHECK: [[RAW_POINTER:%[^,]+]] = struct_extract [[UNSAFE_POINTER]] : $UnsafePointer<U>, #UnsafePointer._rawValue
11921192
// CHECK: [[ADDR:%[^,]+]] = pointer_to_address [[RAW_POINTER]]
1193-
// CHECK: [[ACCESS_UNCHECKED:%[^,]+]] = begin_access [read] [unsafe] [[ADDR]]
1193+
// CHECK: [[MD:%.*]] = mark_dependence [unresolved] [[ADDR]] : $*U on [[SELF]]
1194+
// CHECK: [[ACCESS_UNCHECKED:%[^,]+]] = begin_access [read] [unsafe] [[MD]]
11941195
// CHECK: [[ACCESS:%[^,]+]] = mark_unresolved_non_copyable_value [no_consume_or_assign] [[ACCESS_UNCHECKED]]
11951196
// CHECK: [[VALUE:%[^,]+]] = load [copy] [[ACCESS]]
11961197
// CHECK: yield [[VALUE]]
@@ -1213,7 +1214,8 @@ public struct ImplAUnsafeAddressors : P1 {
12131214
// CHECK: [[UNSAFE_POINTER:%[^,]+]] = apply [[UNSAFE_ADDRESSOR]]([[SELF]])
12141215
// CHECK: [[RAW_POINTER:%[^,]+]] = struct_extract [[UNSAFE_POINTER]] : $UnsafePointer<U>, #UnsafePointer._rawValue
12151216
// CHECK: [[ADDR:%[^,]+]] = pointer_to_address [[RAW_POINTER]]
1216-
// CHECK: [[ACCESS_UNCHECKED:%[^,]+]] = begin_access [read] [unsafe] [[ADDR]]
1217+
// CHECK: [[MD:%.*]] = mark_dependence [unresolved] [[ADDR]] : $*U on [[SELF]]
1218+
// CHECK: [[ACCESS_UNCHECKED:%[^,]+]] = begin_access [read] [unsafe] [[MD]]
12171219
// CHECK: [[ACCESS:%[^,]+]] = mark_unresolved_non_copyable_value [no_consume_or_assign] [[ACCESS_UNCHECKED]]
12181220
// CHECK: [[VALUE:%[^,]+]] = load [copy] [[ACCESS]]
12191221
// CHECK: yield [[VALUE]]
@@ -1299,7 +1301,8 @@ public struct ImplBUnsafeAddressors : P2 {
12991301
// CHECK: [[RAW_POINTER:%[^,]+]] = struct_extract [[UNSAFE_POINTER]]
13001302
// CHECK: #UnsafePointer._rawValue
13011303
// CHECK: [[ADDR:%[^,]+]] = pointer_to_address [[RAW_POINTER]]
1302-
// CHECK: [[ACCESS_UNCHECKED:%[^,]+]] = begin_access [read] [unsafe] [[ADDR]]
1304+
// CHECK: [[MD:%.*]] = mark_dependence [unresolved] [[ADDR]] : $*U on [[SELF]]
1305+
// CHECK: [[ACCESS_UNCHECKED:%[^,]+]] = begin_access [read] [unsafe] [[MD]]
13031306
// CHECK: [[ACCESS:%[^,]+]] = mark_unresolved_non_copyable_value [no_consume_or_assign] [[ACCESS_UNCHECKED]]
13041307
// CHECK: [[VALUE:%[^,]+]] = load [copy] [[ACCESS]]
13051308
// CHECK: yield [[VALUE]]
@@ -1368,7 +1371,8 @@ public struct ImplCUnsafeAddressors : P3 {
13681371
// CHECK: [[RAW_POINTER:%[^,]+]] = struct_extract [[UNSAFE_POINTER]]
13691372
// CHECK: #UnsafePointer._rawValue
13701373
// CHECK: [[ADDR:%[^,]+]] = pointer_to_address [[RAW_POINTER]]
1371-
// CHECK: [[ACCESS_UNCHECKED:%[^,]+]] = begin_access [read] [unsafe] [[ADDR]]
1374+
// CHECK: [[MD:%.*]] = mark_dependence [unresolved] [[ADDR]] : $*U on [[SELF]]
1375+
// CHECK: [[ACCESS_UNCHECKED:%[^,]+]] = begin_access [read] [unsafe] [[MD]]
13721376
// CHECK: [[ACCESS:%[^,]+]] = mark_unresolved_non_copyable_value [no_consume_or_assign] [[ACCESS_UNCHECKED]]
13731377
// CHECK: [[VALUE:%[^,]+]] = load [copy] [[ACCESS]]
13741378
// CHECK: yield [[VALUE]]
@@ -1392,7 +1396,8 @@ public struct ImplCUnsafeAddressors : P3 {
13921396
// CHECK: [[RAW_POINTER:%[^,]+]] = struct_extract [[UNSAFE_POINTER]]
13931397
// CHECK: #UnsafePointer._rawValue
13941398
// CHECK: [[ADDR:%[^,]+]] = pointer_to_address [[RAW_POINTER]]
1395-
// CHECK: [[ACCESS_UNCHECKED:%[^,]+]] = begin_access [read] [unsafe] [[ADDR]]
1399+
// CHECK: [[MD:%.*]] = mark_dependence [unresolved] [[ADDR]] : $*U on [[SELF]]
1400+
// CHECK: [[ACCESS_UNCHECKED:%[^,]+]] = begin_access [read] [unsafe] [[MD]]
13961401
// CHECK: [[ACCESS:%[^,]+]] = mark_unresolved_non_copyable_value [no_consume_or_assign] [[ACCESS_UNCHECKED]]
13971402
// CHECK: [[VALUE:%[^,]+]] = load [copy] [[ACCESS]]
13981403
// CHECK: yield [[VALUE]]

0 commit comments

Comments
 (0)