mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
This is only enabled when semantic sil is enabled /and/ we are not parsing unqualified SIL. *NOTE* To properly write tests for this, I had to rework how we verified Branch/CondBranch insts to be actually correct (instead of pseudo-correct). I have to put this functionality together in order to write tests. rdar://29791263
24 lines
980 B
Plaintext
24 lines
980 B
Plaintext
// First parse this and then emit a *.sib. Then read in the *.sib, then recreate
|
|
// RUN: rm -rfv %t
|
|
// RUN: mkdir %t
|
|
// RUN: %target-sil-opt -enable-sil-ownership %s -emit-sib -o %t/tmp.sib -module-name borrow
|
|
// RUN: %target-sil-opt -enable-sil-ownership %t/tmp.sib -o %t/tmp.2.sib -module-name borrow
|
|
// RUN: %target-sil-opt -enable-sil-ownership %t/tmp.2.sib -module-name borrow | %FileCheck %s
|
|
|
|
sil_stage canonical
|
|
|
|
import Builtin
|
|
|
|
// CHECK-LABEL: sil @borrow_argument_test : $@convention(thin) (@guaranteed Builtin.NativeObject) -> () {
|
|
// CHECK: bb1([[PHIBBARG:%.*]] : @guaranteed $Builtin.NativeObject):
|
|
// CHECK: end_borrow_argument [[PHIBBARG]] : $Builtin.NativeObject
|
|
sil @borrow_argument_test : $@convention(thin) (@guaranteed Builtin.NativeObject) -> () {
|
|
bb0(%0 : @guaranteed $Builtin.NativeObject):
|
|
br bb1(%0 : $Builtin.NativeObject)
|
|
|
|
bb1(%1 : @guaranteed $Builtin.NativeObject):
|
|
end_borrow_argument %1 : $Builtin.NativeObject
|
|
%4 = tuple()
|
|
return %4 : $()
|
|
}
|