Files
swift-mirror/test/IRGen/opaque_values_irgen.sil
Egor Zhdan 91bef8448a [IRGen] Upstream test changes for pointer authenticated value witness tables
The original change was done by Arnold Schwaighofer.
2024-07-02 18:35:12 +01:00

23 lines
937 B
Plaintext

// RUN: %target-swift-frontend -enable-sil-opaque-values -parse-stdlib -primary-file %s -emit-ir | %FileCheck --check-prefix=CHECK --check-prefix=CHECK-%target-cpu %s
import Builtin
sil_stage raw
// CHECK: define hidden swiftcc void @f010_irgen_identity(ptr noalias sret({{.*}}) %0, ptr noalias %1, ptr %T)
// CHECK: entry:
// CHECK-arm64e: call i64 @llvm.ptrauth.blend
// CHECK-arm64e: call i64 @llvm.ptrauth.auth
// CHECK-NOT: call
// CHECK-NOT: call
// CHECK: [[InitializeWithTake_ADDR:%.*]] = getelementptr inbounds ptr, ptr {{.*}}, {{(i32|i64)}} 4
// CHECK: [[InitializeWithTake:%.*]] = load ptr, ptr [[InitializeWithTake_ADDR]]
// CHECK-arm64e: call i64 @llvm.ptrauth.blend
// CHECK: %{{.*}} = call ptr [[InitializeWithTake]](ptr noalias %0, ptr noalias %1, ptr %T)
// CHECK-NOT: call
// CHECK: ret void
sil hidden [ossa] @f010_irgen_identity : $@convention(thin) <T> (@in T) -> @out T {
bb0(%0 : @owned $T):
return %0 : $T
}