Files
swift-mirror/test/IRGen/ptrauth-classes.sil
Arnold Schwaighofer fc766a39d3 Fix some more tests
2023-06-29 16:16:56 -07:00

22 lines
751 B
Plaintext

// RUN: %swift -swift-version 4 -target arm64e-apple-ios12.0 -parse-stdlib -parse-as-library %s -emit-ir -module-name test -Xcc -Xclang -Xcc -fptrauth-calls | %FileCheck %s --check-prefix=CHECK
// REQUIRES: CPU=arm64e
// REQUIRES: OS=ios
import Builtin
class A<T> {}
sil_vtable A {}
// rdar://35018215
struct S {}
class B : A<S> {}
sil_vtable B {}
// CHECK-LABEL: define internal ptr @"$s4test1ACMi"(ptr %0, ptr %1, ptr %2)
// CHECK: [[INT:%.*]] = ptrtoint ptr %0 to i64
// CHECK: [[SIGNED:%.*]] = call i64 @llvm.ptrauth.sign(i64 [[INT]], i32 2, i64 44678)
// CHECK: [[PTR:%.*]] = inttoptr i64 [[SIGNED]] to ptr
// CHECK: [[METADATA:%.*]] = call ptr @swift_allocateGenericClassMetadata(ptr [[PTR]], ptr %1, ptr %2)
// CHECK: ret ptr [[METADATA]]