@@ -879,6 +879,50 @@ bb0:
879
879
return %a : $String
880
880
}
881
881
882
+ // CHECK-LABEL: sil [ossa] @dontExtendModifyAccess
883
+ // CHECK: begin_access
884
+ // CHECK-NEXT: alloc_stack
885
+ // CHECK-NEXT: copy_addr
886
+ // CHECK-NEXT: end_access
887
+ // CHECK-NEXT: load
888
+ // CHECK-LABEL: } // end sil function 'dontExtendModifyAccess'
889
+ sil [ossa] @dontExtendModifyAccess : $@convention(thin) () -> @owned String {
890
+ bb0:
891
+ %1 = global_addr @globalString : $*String
892
+ %3 = begin_access [modify] [dynamic] %1 : $*String
893
+ %4 = alloc_stack $String
894
+ copy_addr %3 to [initialization] %4 : $*String
895
+ end_access %3 : $*String
896
+ %6 = load [copy] %4 : $*String
897
+ destroy_addr %4 : $*String
898
+ dealloc_stack %4 : $*String
899
+ return %6 : $String
900
+ }
901
+
902
+ // CHECK-LABEL: sil [ossa] @dontExtendAccessScopeOverEndAccess
903
+ // CHECK: begin_access [read] [dynamic] %0 : $*Int
904
+ // CHECK-NEXT: begin_access [read] [dynamic] %{{[0-9]+}} : $*String
905
+ // CHECK-NEXT: alloc_stack
906
+ // CHECK-NEXT: copy_addr
907
+ // CHECK-NEXT: end_access %{{[0-9]+}} : $*String
908
+ // CHECK-NEXT: end_access %{{[0-9]+}} : $*Int
909
+ // CHECK-NEXT: load
910
+ // CHECK-LABEL: } // end sil function 'dontExtendAccessScopeOverEndAccess'
911
+ sil [ossa] @dontExtendAccessScopeOverEndAccess : $@convention(thin) (@in_guaranteed Int) -> @owned String {
912
+ bb0(%0 : $*Int):
913
+ %1 = global_addr @globalString : $*String
914
+ %2 = begin_access [read] [dynamic] %0 : $*Int
915
+ %3 = begin_access [read] [dynamic] %1 : $*String
916
+ %4 = alloc_stack $String
917
+ copy_addr %3 to [initialization] %4 : $*String
918
+ end_access %3 : $*String
919
+ end_access %2 : $*Int
920
+ %6 = load [copy] %4 : $*String
921
+ destroy_addr %4 : $*String
922
+ dealloc_stack %4 : $*String
923
+ return %6 : $String
924
+ }
925
+
882
926
// CHECK-LABEL: sil [ossa] @dontExtendAccessScopeOverBeginAccess : $@convention(thin) (@in Klass) -> () {
883
927
// CHECK: bb0(%0 : $*Klass):
884
928
// CHECK: [[STACK:%.*]] = alloc_stack $Klass
0 commit comments