Files
swift-mirror/test/IRGen/function_param_convention.sil
Erik Eckstein 8e3b05d2f4 IRGen: Use new mangling for llvm type names.
This should have no effect on the generated binary.
2017-02-22 09:19:10 -08:00

20 lines
804 B
Plaintext

// RUN: %target-swift-frontend -assume-parsing-unqualified-ownership-sil -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{{( protected)?}} swiftcc void @foo(%T4Test1XV* noalias nocapture sret, %T4Test1XV* noalias nocapture dereferenceable({{.*}}), %T4Test1XV* nocapture dereferenceable({{.*}}), %T4Test1XV* noalias nocapture dereferenceable({{.*}}), i32, i32, i32) {{.*}} {
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 : $()
}