|
26 | 26 | // CHECK-arm64e-LABEL: _swift_coro_malloc.ptrauth = private constant { |
27 | 27 | // CHECK-arm64e-SAME: ptr @_swift_coro_malloc, |
28 | 28 | // CHECK-arm64e-SAME: i32 0, |
29 | | -// CHECK-arm64e-SAME: i64 0, |
| 29 | +// CHECK-arm64e-SAME: i64 ptrtoint ( |
| 30 | +// CHECK-arm64e-SAME: ptr getelementptr inbounds ( |
| 31 | +// CHECK-arm64e-SAME: ptr @_swift_coro_malloc_allocator, |
| 32 | +// CHECK-arm64e-SAME: i32 0, |
| 33 | +// CHECK-arm64e-SAME: i32 1 |
| 34 | +// CHECK-arm64e-SAME: ) |
| 35 | +// CHECK-arm64e-SAME: ) |
30 | 36 | // CHECK-arm64e-SAME: i64 24469 } |
31 | 37 | // CHECK-arm64e-SAME: section "llvm.ptrauth" |
32 | 38 | // CHECK-arm64e-SAME: align 8 |
33 | 39 | // CHECK-arm64e-LABEL: _swift_coro_free.ptrauth = private constant { |
34 | 40 | // CHECK-arm64e-SAME: ptr @_swift_coro_free, |
35 | 41 | // CHECK-arm64e-SAME: i32 0, |
36 | | -// CHECK-arm64e-SAME: i64 0, |
| 42 | +// CHECK-arm64e-SAME: i64 ptrtoint ( |
| 43 | +// CHECK-arm64e-SAME: ptr getelementptr inbounds ( |
| 44 | +// CHECK-arm64e-SAME: ptr @_swift_coro_malloc_allocator, |
| 45 | +// CHECK-arm64e-SAME: i32 0, |
| 46 | +// CHECK-arm64e-SAME: i32 2 |
| 47 | +// CHECK-arm64e-SAME: ) |
| 48 | +// CHECK-arm64e-SAME: ) |
37 | 49 | // CHECK-arm64e-SAME: i64 40879 }, |
38 | 50 | // CHECK-arm64e-SAME: section "llvm.ptrauth", |
39 | 51 | // CHECK-arm64e-SAME: align 8 |
40 | 52 | // CHECK-arm64e-LABEL: _swift_coro_malloc.ptrauth.1 = private constant { |
41 | 53 | // CHECK-arm64e-SAME: ptr @_swift_coro_malloc, |
42 | 54 | // CHECK-arm64e-SAME: i32 0, |
43 | | -// CHECK-arm64e-SAME: i64 0, |
| 55 | +// CHECK-arm64e-SAME: i64 ptrtoint ( |
| 56 | +// CHECK-arm64e-SAME: ptr getelementptr inbounds ( |
| 57 | +// CHECK-arm64e-SAME: ptr @_swift_coro_malloc_allocator, |
| 58 | +// CHECK-arm64e-SAME: i32 0, |
| 59 | +// CHECK-arm64e-SAME: i32 3 |
| 60 | +// CHECK-arm64e-SAME: ) |
| 61 | +// CHECK-arm64e-SAME: ) |
44 | 62 | // CHECK-arm64e-SAME: i64 53841 } |
45 | 63 | // CHECK-arm64e-SAME: section "llvm.ptrauth" |
46 | 64 | // CHECK-arm64e-SAME: align 8 |
47 | 65 | // CHECK-arm64e-LABEL: _swift_coro_free.ptrauth.2 = private constant { |
48 | 66 | // CHECK-arm64e-SAME: ptr @_swift_coro_free, |
49 | 67 | // CHECK-arm64e-SAME: i32 0, |
50 | | -// CHECK-arm64e-SAME: i64 0, |
| 68 | +// CHECK-arm64e-SAME: i64 ptrtoint ( |
| 69 | +// CHECK-arm64e-SAME: ptr getelementptr inbounds ( |
| 70 | +// CHECK-arm64e-SAME: ptr @_swift_coro_malloc_allocator, |
| 71 | +// CHECK-arm64e-SAME: i32 0, |
| 72 | +// CHECK-arm64e-SAME: i32 4 |
| 73 | +// CHECK-arm64e-SAME: ) |
| 74 | +// CHECK-arm64e-SAME: ) |
51 | 75 | // CHECK-arm64e-SAME: i64 23464 }, |
52 | 76 | // CHECK-arm64e-SAME: section "llvm.ptrauth", |
53 | 77 | // CHECK-arm64e-SAME: align 8 |
|
65 | 89 | // CHECK-arm64e-LABEL: _swift_coro_task_alloc.ptrauth = private constant { |
66 | 90 | // CHECK-arm64e-SAME: ptr @_swift_coro_task_alloc, |
67 | 91 | // CHECK-arm64e-SAME: i32 0, |
68 | | -// CHECK-arm64e-SAME: i64 0, |
| 92 | +// CHECK-arm64e-SAME: i64 ptrtoint ( |
| 93 | +// CHECK-arm64e-SAME: ptr getelementptr inbounds ( |
| 94 | +// CHECK-arm64e-SAME: ptr @_swift_coro_async_allocator, |
| 95 | +// CHECK-arm64e-SAME: i32 0, |
| 96 | +// CHECK-arm64e-SAME: i32 1 |
| 97 | +// CHECK-arm64e-SAME: ) |
| 98 | +// CHECK-arm64e-SAME: ) |
69 | 99 | // CHECK-arm64e-SAME: i64 24469 } |
70 | 100 | // CHECK-arm64e-SAME: section "llvm.ptrauth" |
71 | 101 | // CHECK-arm64e-SAME: align 8 |
72 | 102 | // CHECK-arm64e-LABEL: @_swift_coro_task_dealloc.ptrauth = private constant { |
73 | 103 | // CHECK-arm64e-SAME: ptr @_swift_coro_task_dealloc, |
74 | 104 | // CHECK-arm64e-SAME: i32 0, |
75 | | -// CHECK-arm64e-SAME: i64 0, |
| 105 | +// CHECK-arm64e-SAME: i64 ptrtoint ( |
| 106 | +// CHECK-arm64e-SAME: ptr getelementptr inbounds ( |
| 107 | +// CHECK-arm64e-SAME: ptr @_swift_coro_async_allocator, |
| 108 | +// CHECK-arm64e-SAME: i32 0, |
| 109 | +// CHECK-arm64e-SAME: i32 2 |
| 110 | +// CHECK-arm64e-SAME: ) |
| 111 | +// CHECK-arm64e-SAME: ) |
76 | 112 | // CHECK-arm64e-SAME: i64 40879 }, |
77 | 113 | // CHECK-arm64e-SAME: section "llvm.ptrauth", |
78 | 114 | // CHECK-arm64e-SAME: align 8 |
79 | 115 | // CHECK-arm64e-LABEL: _swift_coro_task_alloc.ptrauth.3 = private constant { |
80 | 116 | // CHECK-arm64e-SAME: ptr @_swift_coro_task_alloc, |
81 | 117 | // CHECK-arm64e-SAME: i32 0, |
82 | | -// CHECK-arm64e-SAME: i64 0, |
| 118 | +// CHECK-arm64e-SAME: i64 ptrtoint ( |
| 119 | +// CHECK-arm64e-SAME: ptr getelementptr inbounds ( |
| 120 | +// CHECK-arm64e-SAME: ptr @_swift_coro_async_allocator, |
| 121 | +// CHECK-arm64e-SAME: i32 0, |
| 122 | +// CHECK-arm64e-SAME: i32 3 |
| 123 | +// CHECK-arm64e-SAME: ) |
| 124 | +// CHECK-arm64e-SAME: ) |
83 | 125 | // CHECK-arm64e-SAME: i64 53841 } |
84 | 126 | // CHECK-arm64e-SAME: section "llvm.ptrauth" |
85 | 127 | // CHECK-arm64e-SAME: align 8 |
86 | 128 | // CHECK-arm64e-LABEL: @_swift_coro_task_dealloc.ptrauth.4 = private constant { |
87 | 129 | // CHECK-arm64e-SAME: ptr @_swift_coro_task_dealloc, |
88 | 130 | // CHECK-arm64e-SAME: i32 0, |
89 | | -// CHECK-arm64e-SAME: i64 0, |
| 131 | +// CHECK-arm64e-SAME: i64 ptrtoint ( |
| 132 | +// CHECK-arm64e-SAME: ptr getelementptr inbounds ( |
| 133 | +// CHECK-arm64e-SAME: ptr @_swift_coro_async_allocator, |
| 134 | +// CHECK-arm64e-SAME: i32 0, |
| 135 | +// CHECK-arm64e-SAME: i32 4 |
| 136 | +// CHECK-arm64e-SAME: ) |
| 137 | +// CHECK-arm64e-SAME: ) |
90 | 138 | // CHECK-arm64e-SAME: i64 23464 }, |
91 | 139 | // CHECK-arm64e-SAME: section "llvm.ptrauth", |
92 | 140 | // CHECK-arm64e-SAME: align 8 |
|
114 | 162 | // CHECK-SAME: i32 0 |
115 | 163 | // CHECK-SAME: i32 1 |
116 | 164 | // CHECK: [[ALLOCATE_FN:%[^,]+]] = load ptr, ptr [[ALLOCATE_FN_PTR]] |
| 165 | +// CHECK-arm64e: [[ALLOCATE_FN_PTR_BITS:%[^,]+]] = ptrtoint ptr [[ALLOCATE_FN_PTR]] to i64 |
| 166 | +// CHECK-arm64e: [[ALLOCATE_FN_DISCRIMINATOR:%[^,]+]] = call i64 @llvm.ptrauth.blend(i64 [[ALLOCATE_FN_PTR_BITS]], i64 24469) |
117 | 167 | // CHECK-arm64e: [[ALLOCATE_FN_BITS:%[^,]+]] = ptrtoint ptr [[ALLOCATE_FN]] to i64 |
118 | | -// CHECK-arm64e: [[ALLOCATE_FN_BITS_AUTHED:%[^,]+]] = call i64 @llvm.ptrauth.auth(i64 [[ALLOCATE_FN_BITS]], i32 0, i64 24469) |
| 168 | +// CHECK-arm64e: [[ALLOCATE_FN_BITS_AUTHED:%[^,]+]] = call i64 @llvm.ptrauth.auth(i64 [[ALLOCATE_FN_BITS]], i32 0, i64 [[ALLOCATE_FN_DISCRIMINATOR]]) |
119 | 169 | // CHECK-arm64e: [[ALLOCATE_FN:%[^,]+]] = inttoptr i64 [[ALLOCATE_FN_BITS_AUTHED]] |
120 | 170 | // CHECK: [[ALLOCATION:%[^,]+]] = call swiftcc ptr [[ALLOCATE_FN]](ptr [[FRAME]], ptr swiftcoro [[ALLOCATOR]], [[INT]] [[SIZE]]) |
121 | 171 | // CHECK: ret ptr [[ALLOCATION]] |
|
146 | 196 | // CHECK-SAME: i32 0 |
147 | 197 | // CHECK-SAME: i32 2 |
148 | 198 | // CHECK: [[DEALLOCATE_FN:%[^,]+]] = load ptr, ptr [[DEALLOCATE_FN_PTR]] |
| 199 | +// CHECK-arm64e: [[DEALLOCATE_FN_PTR_BITS:%[^,]+]] = ptrtoint ptr [[DEALLOCATE_FN_PTR]] to i64 |
| 200 | +// CHECK-arm64e: [[DEALLOCATE_FN_DISCRIMINATOR:%[^,]+]] = call i64 @llvm.ptrauth.blend(i64 [[DEALLOCATE_FN_PTR_BITS]], i64 40879) |
149 | 201 | // CHECK-arm64e: [[DEALLOCATE_FN_BITS:%[^,]+]] = ptrtoint ptr [[DEALLOCATE_FN]] to i64 |
150 | | -// CHECK-arm64e: [[DEALLOCATE_FN_BITS_AUTHED:%[^,]+]] = call i64 @llvm.ptrauth.auth(i64 [[DEALLOCATE_FN_BITS]], i32 0, i64 40879) |
| 202 | +// CHECK-arm64e: [[DEALLOCATE_FN_BITS_AUTHED:%[^,]+]] = call i64 @llvm.ptrauth.auth(i64 [[DEALLOCATE_FN_BITS]], i32 0, i64 [[DEALLOCATE_FN_DISCRIMINATOR]]) |
151 | 203 | // CHECK-arm64e: [[DEALLOCATE_FN:%[^,]+]] = inttoptr i64 [[DEALLOCATE_FN_BITS_AUTHED]] |
152 | 204 | // CHECK: call swiftcc void [[DEALLOCATE_FN]](ptr [[FRAME]], ptr swiftcoro [[ALLOCATOR]], ptr [[ADDRESS]]) |
153 | 205 | // CHECK: ret void |
|
0 commit comments