Files
swift-mirror/test/IRGen/function_param_convention.sil
2023-06-21 10:10:32 -07:00

20 lines
776 B
Plaintext

// RUN: %target-swift-frontend -emit-ir %s -module-name Test | %FileCheck %s
import Builtin
struct X {
init()
var x : Builtin.Int32
}
// Make sure we can irgen a SIL function with various parameter attributes
// without choking. This is just a basic reality check.
// CHECK: define{{( dllexport)?}}{{( protected)?}} swiftcc void @foo(ptr noalias nocapture sret({{.*}}) %0, ptr noalias nocapture dereferenceable({{.*}}) %1, ptr nocapture dereferenceable({{.*}}) %2, ptr noalias nocapture dereferenceable({{.*}}) %3, i32 %4, i32 %5, i32 %6) {{.*}} {
sil @foo : $@convention(thin) (@in X, @inout X, @in_guaranteed X, @owned X, X, @guaranteed X) -> @out X {
bb0(%0 : $*X, %1 : $*X, %2 : $*X, %3 : $*X, %4 : $X, %5 : $X, %6 : $X):
%9999 = tuple()
return %9999 : $()
}