|
28 | 28 | // CHECK-arm64e-LABEL: _swift_coro_task_alloc.ptrauth = private constant { |
29 | 29 | // CHECK-arm64e-SAME: ptr @_swift_coro_task_alloc, |
30 | 30 | // CHECK-arm64e-SAME: i32 0, |
31 | | -// CHECK-arm64e-SAME: i64 0, |
| 31 | +// CHECK-arm64e-SAME: i64 ptrtoint ( |
| 32 | +// CHECK-arm64e-SAME: ptr getelementptr inbounds ( |
| 33 | +// CHECK-arm64e-SAME: ptr @_swift_coro_async_allocator, |
| 34 | +// CHECK-arm64e-SAME: i32 0, |
| 35 | +// CHECK-arm64e-SAME: i32 1 |
| 36 | +// CHECK-arm64e-SAME: ) |
| 37 | +// CHECK-arm64e-SAME: ) |
32 | 38 | // CHECK-arm64e-SAME: i64 24469 } |
33 | 39 | // CHECK-arm64e-SAME: section "llvm.ptrauth" |
34 | 40 | // CHECK-arm64e-SAME: align 8 |
35 | 41 | // CHECK-arm64e-LABEL: @_swift_coro_task_dealloc.ptrauth = private constant { |
36 | 42 | // CHECK-arm64e-SAME: ptr @_swift_coro_task_dealloc, |
37 | 43 | // CHECK-arm64e-SAME: i32 0, |
38 | | -// CHECK-arm64e-SAME: i64 0, |
| 44 | +// CHECK-arm64e-SAME: i64 ptrtoint ( |
| 45 | +// CHECK-arm64e-SAME: ptr getelementptr inbounds ( |
| 46 | +// CHECK-arm64e-SAME: ptr @_swift_coro_async_allocator, |
| 47 | +// CHECK-arm64e-SAME: i32 0, |
| 48 | +// CHECK-arm64e-SAME: i32 2 |
| 49 | +// CHECK-arm64e-SAME: ) |
| 50 | +// CHECK-arm64e-SAME: ) |
39 | 51 | // CHECK-arm64e-SAME: i64 40879 }, |
40 | 52 | // CHECK-arm64e-SAME: section "llvm.ptrauth", |
41 | 53 | // CHECK-arm64e-SAME: align 8 |
|
44 | 56 | // CHECK-SAME: _swift_coro_task_alloc |
45 | 57 | // CHECK-SAME: _swift_coro_task_dealloc |
46 | 58 | // CHECK-SAME: } |
47 | | -// CHECK-arm64e-LABEL: _swift_coro_malloc.ptrauth = private constant { |
48 | | -// CHECK-arm64e-SAME: ptr @_swift_coro_malloc, |
| 59 | +// CHECK-arm64e-LABEL: _swift_coro_typed_malloc.ptrauth = private constant { |
| 60 | +// CHECK-arm64e-SAME: ptr @_swift_coro_typed_malloc, |
49 | 61 | // CHECK-arm64e-SAME: i32 0, |
50 | | -// CHECK-arm64e-SAME: i64 0, |
| 62 | +// CHECK-arm64e-SAME: i64 ptrtoint ( |
| 63 | +// CHECK-arm64e-SAME: ptr getelementptr inbounds ( |
| 64 | +// CHECK-arm64e-SAME: %swift.coro_allocator, |
| 65 | +// CHECK-arm64e-SAME: ptr @_swift_coro_typed_malloc_allocator, |
| 66 | +// CHECK-arm64e-SAME: i32 0, |
| 67 | +// CHECK-arm64e-SAME: i32 1 |
| 68 | +// CHECK-arm64e-SAME: ) to i64 |
| 69 | +// CHECK-arm64e-SAME: ), |
51 | 70 | // CHECK-arm64e-SAME: i64 24469 } |
52 | 71 | // CHECK-arm64e-SAME: section "llvm.ptrauth" |
53 | 72 | // CHECK-arm64e-SAME: align 8 |
54 | 73 | // CHECK-arm64e-LABEL: _swift_coro_free.ptrauth = private constant { |
55 | 74 | // CHECK-arm64e-SAME: ptr @_swift_coro_free, |
56 | 75 | // CHECK-arm64e-SAME: i32 0, |
57 | | -// CHECK-arm64e-SAME: i64 0, |
| 76 | +// CHECK-arm64e-SAME: i64 ptrtoint ( |
| 77 | +// CHECK-arm64e-SAME: ptr getelementptr inbounds ( |
| 78 | +// CHECK-arm64e-SAME: %swift.coro_allocator, |
| 79 | +// CHECK-arm64e-SAME: ptr @_swift_coro_typed_malloc_allocator, |
| 80 | +// CHECK-arm64e-SAME: i32 0, |
| 81 | +// CHECK-arm64e-SAME: i32 2 |
| 82 | +// CHECK-arm64e-SAME: ) to i64 |
| 83 | +// CHECK-arm64e-SAME: ), |
58 | 84 | // CHECK-arm64e-SAME: i64 40879 }, |
59 | 85 | // CHECK-arm64e-SAME: section "llvm.ptrauth", |
60 | 86 | // CHECK-arm64e-SAME: align 8 |
|
86 | 112 | // CHECK-SAME: i32 0 |
87 | 113 | // CHECK-SAME: i32 1 |
88 | 114 | // CHECK: [[ALLOCATE_FN:%[^,]+]] = load ptr, ptr [[ALLOCATE_FN_PTR]] |
| 115 | +// CHECK-arm64e: [[ALLOCATE_FN_PTR_BITS:%[^,]+]] = ptrtoint ptr [[ALLOCATE_FN_PTR]] to i64 |
| 116 | +// CHECK-arm64e: [[ALLOCATE_FN_DISCRIMINATOR:%[^,]+]] = call i64 @llvm.ptrauth.blend(i64 [[ALLOCATE_FN_PTR_BITS]], i64 24469) |
89 | 117 | // CHECK-arm64e: [[ALLOCATE_FN_BITS:%[^,]+]] = ptrtoint ptr [[ALLOCATE_FN]] to i64 |
90 | | -// CHECK-arm64e: [[ALLOCATE_FN_BITS_AUTHED:%[^,]+]] = call i64 @llvm.ptrauth.auth(i64 [[ALLOCATE_FN_BITS]], i32 0, i64 24469) |
| 118 | +// CHECK-arm64e: [[ALLOCATE_FN_BITS_AUTHED:%[^,]+]] = call i64 @llvm.ptrauth.auth(i64 [[ALLOCATE_FN_BITS]], i32 0, i64 [[ALLOCATE_FN_DISCRIMINATOR]]) |
91 | 119 | // CHECK-arm64e: [[ALLOCATE_FN:%[^,]+]] = inttoptr i64 [[ALLOCATE_FN_BITS_AUTHED]] |
92 | 120 | // CHECK: [[ALLOCATION:%[^,]+]] = call swiftcc ptr [[ALLOCATE_FN]]( |
93 | 121 | // CHECK-SAME: ptr [[FRAME]], |
|
130 | 158 | // CHECK-SAME: i32 0 |
131 | 159 | // CHECK-SAME: i32 2 |
132 | 160 | // CHECK: [[DEALLOCATE_FN:%[^,]+]] = load ptr, ptr [[DEALLOCATE_FN_PTR]] |
| 161 | +// CHECK-arm64e: [[DEALLOCATE_FN_PTR_BITS:%[^,]+]] = ptrtoint ptr [[DEALLOCATE_FN_PTR]] to i64 |
| 162 | +// CHECK-arm64e: [[DEALLOCATE_FN_DISCRIMINATOR:%[^,]+]] = call i64 @llvm.ptrauth.blend(i64 [[DEALLOCATE_FN_PTR_BITS]], i64 40879) |
133 | 163 | // CHECK-arm64e: [[DEALLOCATE_FN_BITS:%[^,]+]] = ptrtoint ptr [[DEALLOCATE_FN]] to i64 |
134 | | -// CHECK-arm64e: [[DEALLOCATE_FN_BITS_AUTHED:%[^,]+]] = call i64 @llvm.ptrauth.auth(i64 [[DEALLOCATE_FN_BITS]], i32 0, i64 40879) |
| 164 | +// CHECK-arm64e: [[DEALLOCATE_FN_BITS_AUTHED:%[^,]+]] = call i64 @llvm.ptrauth.auth(i64 [[DEALLOCATE_FN_BITS]], i32 0, i64 [[DEALLOCATE_FN_DISCRIMINATOR]]) |
135 | 165 | // CHECK-arm64e: [[DEALLOCATE_FN:%[^,]+]] = inttoptr i64 [[DEALLOCATE_FN_BITS_AUTHED]] |
136 | 166 | // CHECK: call swiftcc void [[DEALLOCATE_FN]](ptr [[FRAME]], ptr swiftcoro [[ALLOCATOR]], ptr [[ADDRESS]]) |
137 | 167 | // CHECK: ret void |
|
0 commit comments