@@ -75,8 +75,8 @@ entry(%0 : @owned $C):
75
75
return %99 : $()
76
76
}
77
77
78
- sil [ossa] @dependence_scope : $@convention(thin) (@owned C, @owned D, @guaranteed D, @in_guaranteed D) -> () {
79
- entry(%0 : @owned $C, %1 : @owned $D, %2 : @guaranteed $D, %3 : $*D):
78
+ sil [ossa] @dependence_scope : $@convention(thin) (@owned C, @owned D, @guaranteed D, @in_guaranteed D, @inout D ) -> () {
79
+ entry(%0 : @owned $C, %1 : @owned $D, %2 : @guaranteed $D, %3 : $*D, %4 : $*D ):
80
80
%move = move_value %1 : $D
81
81
%owned_mark = mark_dependence [nonescaping] %0 : $C on %move : $D
82
82
specify_test "lifetime_dependence_scope %owned_mark"
@@ -93,7 +93,7 @@ entry(%0 : @owned $C, %1 : @owned $D, %2 : @guaranteed $D, %3 : $*D):
93
93
%guaranteed_mark = mark_dependence [nonescaping] %owned_mark : $C on %pair : $PairC
94
94
specify_test "lifetime_dependence_scope %guaranteed_mark"
95
95
// CHECK-LABEL: dependence_scope: lifetime_dependence_scope with: %guaranteed_mark
96
- // CHECK-NEXT: Caller: %{{.*}} = argument of bb0 : $D
96
+ // CHECK-NEXT: Caller: %2 = argument of bb0 : $D
97
97
// CHECK-NEXT: Dependent: %{{.*}} = mark_dependence [nonescaping] %{{.*}} : $C on %{{.*}} : $PairC
98
98
// CHECK-NEXT: Caller range
99
99
// CHECK: dependence_scope: lifetime_dependence_scope with: %guaranteed_mark
@@ -130,21 +130,29 @@ entry(%0 : @owned $C, %1 : @owned $D, %2 : @guaranteed $D, %3 : $*D):
130
130
%guaranteed_arg_mark = mark_dependence [nonescaping] %access_mark : $C on %2 : $D
131
131
specify_test "lifetime_dependence_scope %guaranteed_arg_mark"
132
132
// CHECK-LABEL: dependence_scope: lifetime_dependence_scope with: %guaranteed_arg_mark
133
- // CHECK-NEXT: Caller: %{{.*}} = argument of bb0 : $D
134
- // CHECK-NEXT: Dependent: %{{.*}} = mark_dependence [nonescaping] %{{.*}} : $C on %{{.*}} : $D
133
+ // CHECK-NEXT: Caller: %2 = argument of bb0 : $D
134
+ // CHECK-NEXT: Dependent: %{{.*}} = mark_dependence [nonescaping] %{{.*}} : $C on %2 : $D
135
135
// CHECK-NEXT: Caller range
136
136
// CHECK: dependence_scope: lifetime_dependence_scope with: %guaranteed_arg_mark
137
137
138
138
%inguaranteed_arg_mark = mark_dependence [nonescaping] %guaranteed_arg_mark : $C on %3 : $*D
139
139
specify_test "lifetime_dependence_scope %inguaranteed_arg_mark"
140
140
// CHECK-LABEL: dependence_scope: lifetime_dependence_scope with: %inguaranteed_arg_mark
141
- // CHECK-NEXT: Initialized: %{{.*}} = argument of bb0 : $*D
142
- // CHECK-NEXT: Dependent: %{{.*}} = mark_dependence [nonescaping] %{{.*}} : $C on %{{.*}} : $*D
141
+ // CHECK-NEXT: Initialized: %3 = argument of bb0 : $*D
142
+ // CHECK-NEXT: Dependent: %{{.*}} = mark_dependence [nonescaping] %{{.*}} : $C on %3 : $*D
143
143
// CHECK-NEXT: begin: %{{.*}} = move_value %{{.*}} : $D
144
144
// CHECK-NEXT: ends:
145
145
// CHECK: dependence_scope: lifetime_dependence_scope with: %inguaranteed_arg_mark
146
146
147
- destroy_value %inguaranteed_arg_mark : $C
147
+ %inout_arg_mark = mark_dependence [nonescaping] %inguaranteed_arg_mark : $C on %4 : $*D
148
+ specify_test "lifetime_dependence_scope %inout_arg_mark"
149
+ // CHECK-LABEL: dependence_scope: lifetime_dependence_scope with: %inout_arg_mark
150
+ // CHECK-NEXT: Caller: %4 = argument of bb0 : $*D
151
+ // CHECK-NEXT: Dependent: %{{.*}} = mark_dependence [nonescaping] %{{.*}} : $C on %4 : $*D
152
+ // CHECK-NEXT: Caller range
153
+ // CHECK: dependence_scope: lifetime_dependence_scope with: %inout_arg_mark
154
+
155
+ destroy_value %inout_arg_mark : $C
148
156
end_access %access : $*C
149
157
end_apply %token
150
158
end_borrow %borrow : $D
0 commit comments