@@ -491,10 +491,9 @@ public struct GenNCWrapper<T : ~Copyable> : ~Copyable {
491491// CHECK: debug_value [[REG0]], let, name "self", argno 1, expr op_deref
492492// CHECK: [[REG2:%.*]] = struct_element_addr [[REG0]], #GenWrapper._s
493493// CHECK: [[REG3:%.*]] = load_borrow [[REG2]]
494- // CHECK: [[REG4:%.*]] = unchecked_ownership_conversion [[REG3]], @guaranteed to @unowned
495- // CHECK: [[REG5:%.*]] = unchecked_ownership_conversion [[REG4]], @unowned to @guaranteed
494+ // CHECK: [[REG4:%.*]] = unchecked_ownership [[REG3]]
496495// CHECK: end_borrow [[REG3]]
497- // CHECK: return [[REG5 ]]
496+ // CHECK: return [[REG4 ]]
498497// CHECK: }
499498
500499// CHECK: sil hidden [ossa] @$s15borrow_accessor10GenWrapperV1sAA1SVvz : $@convention(method) <T> (@inout GenWrapper<T>) -> @inout S {
@@ -509,10 +508,9 @@ public struct GenNCWrapper<T : ~Copyable> : ~Copyable {
509508// CHECK: debug_value [[REG0]], let, name "self", argno 1, expr op_deref
510509// CHECK: [[REG2:%.*]] = struct_element_addr [[REG0]], #GenWrapper._k
511510// CHECK: [[REG3:%.*]] = load_borrow [[REG2]]
512- // CHECK: [[REG4:%.*]] = unchecked_ownership_conversion [[REG3]], @guaranteed to @unowned
513- // CHECK: [[REG5:%.*]] = unchecked_ownership_conversion [[REG4]], @unowned to @guaranteed
511+ // CHECK: [[REG4:%.*]] = unchecked_ownership [[REG3]]
514512// CHECK: end_borrow [[REG3]]
515- // CHECK: return [[REG5 ]]
513+ // CHECK: return [[REG4 ]]
516514// CHECK: }
517515
518516// CHECK: sil hidden [ossa] @$s15borrow_accessor10GenWrapperV1kAA5KlassCvz : $@convention(method) <T> (@inout GenWrapper<T>) -> @inout Klass {
@@ -555,10 +553,9 @@ public struct GenNCWrapper<T : ~Copyable> : ~Copyable {
555553// CHECK: [[REG3:%.*]] = load_borrow [[REG2]]
556554// CHECK: [[REG4:%.*]] = function_ref @$s15borrow_accessor1SV1kAA5KlassCvb : $@convention(method) (@guaranteed S) -> @guaranteed Klass
557555// CHECK: [[REG5:%.*]] = apply [[REG4]]([[REG3]]) : $@convention(method) (@guaranteed S) -> @guaranteed Klass
558- // CHECK: [[REG6:%.*]] = unchecked_ownership_conversion [[REG5]], @guaranteed to @unowned
559- // CHECK: [[REG7:%.*]] = unchecked_ownership_conversion [[REG6]], @unowned to @guaranteed
556+ // CHECK: [[REG6:%.*]] = unchecked_ownership [[REG5]]
560557// CHECK: end_borrow [[REG3]]
561- // CHECK: return [[REG7 ]]
558+ // CHECK: return [[REG6 ]]
562559// CHECK: }
563560
564561// CHECK: sil hidden [ossa] @$s15borrow_accessor10GenWrapperV9nested_k1AA5KlassCvz : $@convention(method) <T> (@inout GenWrapper<T>) -> @inout Klass {
@@ -652,10 +649,9 @@ public struct GenNCWrapper<T : ~Copyable> : ~Copyable {
652649// CHECK: [[REG2:%.*]] = mark_unresolved_non_copyable_value [no_consume_or_assign] [[REG0]]
653650// CHECK: [[REG3:%.*]] = struct_element_addr [[REG2]], #GenNCWrapper._nc
654651// CHECK: [[REG4:%.*]] = load_borrow [[REG3]]
655- // CHECK: [[REG5:%.*]] = unchecked_ownership_conversion [[REG4]], @guaranteed to @unowned
656- // CHECK: [[REG6:%.*]] = unchecked_ownership_conversion [[REG5]], @unowned to @guaranteed
652+ // CHECK: [[REG5:%.*]] = unchecked_ownership [[REG4]]
657653// CHECK: end_borrow [[REG4]]
658- // CHECK: return [[REG6 ]]
654+ // CHECK: return [[REG5 ]]
659655// CHECK: }
660656
661657// CHECK: sil hidden [ossa] @$s15borrow_accessor12GenNCWrapperVAARi_zrlE2ncAA2NCVvz : $@convention(method) <T where T : ~Copyable> (@inout GenNCWrapper<T>) -> @inout NC {
@@ -672,10 +668,9 @@ public struct GenNCWrapper<T : ~Copyable> : ~Copyable {
672668// CHECK: [[REG2:%.*]] = mark_unresolved_non_copyable_value [no_consume_or_assign] [[REG0]]
673669// CHECK: [[REG3:%.*]] = struct_element_addr [[REG2]], #GenNCWrapper._ncw
674670// CHECK: [[REG4:%.*]] = load_borrow [[REG3]]
675- // CHECK: [[REG5:%.*]] = unchecked_ownership_conversion [[REG4]], @guaranteed to @unowned
676- // CHECK: [[REG6:%.*]] = unchecked_ownership_conversion [[REG5]], @unowned to @guaranteed
671+ // CHECK: [[REG5:%.*]] = unchecked_ownership [[REG4]]
677672// CHECK: end_borrow [[REG4]]
678- // CHECK: return [[REG6 ]]
673+ // CHECK: return [[REG5 ]]
679674// CHECK: }
680675
681676// CHECK: sil hidden [ossa] @$s15borrow_accessor12GenNCWrapperVAARi_zrlE3ncwAA0D0Vvz : $@convention(method) <T where T : ~Copyable> (@inout GenNCWrapper<T>) -> @inout NCWrapper {
@@ -736,15 +731,14 @@ public struct GenNCWrapper<T : ~Copyable> : ~Copyable {
736731// CHECK: [[REG4:%.*]] = load_borrow [[REG3]]
737732// CHECK: [[REG5:%.*]] = function_ref @$s15borrow_accessor9NCWrapperV2ncAA2NCVvb : $@convention(method) (@guaranteed NCWrapper) -> @guaranteed NC
738733// CHECK: [[REG6:%.*]] = apply [[REG5]]([[REG4]]) : $@convention(method) (@guaranteed NCWrapper) -> @guaranteed NC
739- // CHECK: [[REG7:%.*]] = unchecked_ownership_conversion [[REG6]], @guaranteed to @unowned
740- // CHECK: [[REG8:%.*]] = unchecked_ownership_conversion [[REG7]], @unowned to @guaranteed
741- // CHECK: [[REG9:%.*]] = copy_value [[REG8]]
734+ // CHECK: [[REG7:%.*]] = unchecked_ownership [[REG6]]
735+ // CHECK: [[REG9:%.*]] = copy_value [[REG7]]
742736// CHECK: [[REG10:%.*]] = mark_unresolved_non_copyable_value [no_consume_or_assign] [[REG9]]
743737// CHECK: [[REG11:%.*]] = begin_borrow [[REG10]]
744738// CHECK: end_borrow [[REG4]]
745739// CHECK: end_borrow [[REG11]]
746740// CHECK: destroy_value [[REG10]]
747- // CHECK: return [[REG8 ]]
741+ // CHECK: return [[REG7 ]]
748742// CHECK: }
749743
750744// CHECK: sil hidden [ossa] @$s15borrow_accessor12GenNCWrapperVAARi_zrlE10nested_nc1AA2NCVvz : $@convention(method) <T where T : ~Copyable> (@inout GenNCWrapper<T>) -> @inout NC {
0 commit comments