|
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 |
| 52 | +// CHECK-arm64e-LABEL: _swift_coro_malloc.ptrauth.1 = private constant { |
| 53 | +// CHECK-arm64e-SAME: ptr @_swift_coro_malloc, |
| 54 | +// CHECK-arm64e-SAME: i32 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: ) |
| 62 | +// CHECK-arm64e-SAME: i64 53841 } |
| 63 | +// CHECK-arm64e-SAME: section "llvm.ptrauth" |
| 64 | +// CHECK-arm64e-SAME: align 8 |
| 65 | +// CHECK-arm64e-LABEL: _swift_coro_free.ptrauth.2 = private constant { |
| 66 | +// CHECK-arm64e-SAME: ptr @_swift_coro_free, |
| 67 | +// CHECK-arm64e-SAME: i32 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: ) |
| 75 | +// CHECK-arm64e-SAME: i64 23464 }, |
| 76 | +// CHECK-arm64e-SAME: section "llvm.ptrauth", |
| 77 | +// CHECK-arm64e-SAME: align 8 |
40 | 78 | // CHECK-LABEL: _swift_coro_malloc_allocator = linkonce_odr hidden constant %swift.coro_allocator { |
41 | 79 | // CHECK-SAME: i32 258, |
42 | | -// CHECK-SAME: malloc |
43 | | -// CHECK-SAME: free |
| 80 | +// CHECK-SAME: _swift_coro_malloc |
| 81 | +// CHECK-ar64e-SAME: .ptrauth |
| 82 | +// CHECK-SAME: _swift_coro_free |
| 83 | +// CHECK-ar64e-SAME: .ptrauth |
| 84 | +// CHECK-SAME: _swift_coro_malloc |
| 85 | +// CHECK-ar64e-SAME: .ptrauth.1 |
| 86 | +// CHECK-SAME: _swift_coro_free |
| 87 | +// CHECK-ar64e-SAME: .ptrauth.2 |
44 | 88 | // CHECK-SAME: } |
45 | 89 | // CHECK-arm64e-LABEL: _swift_coro_task_alloc.ptrauth = private constant { |
46 | 90 | // CHECK-arm64e-SAME: ptr @_swift_coro_task_alloc, |
47 | 91 | // CHECK-arm64e-SAME: i32 0, |
48 | | -// 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: ) |
49 | 99 | // CHECK-arm64e-SAME: i64 24469 } |
50 | 100 | // CHECK-arm64e-SAME: section "llvm.ptrauth" |
51 | 101 | // CHECK-arm64e-SAME: align 8 |
52 | 102 | // CHECK-arm64e-LABEL: @_swift_coro_task_dealloc.ptrauth = private constant { |
53 | 103 | // CHECK-arm64e-SAME: ptr @_swift_coro_task_dealloc, |
54 | 104 | // CHECK-arm64e-SAME: i32 0, |
55 | | -// 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: ) |
56 | 112 | // CHECK-arm64e-SAME: i64 40879 }, |
57 | 113 | // CHECK-arm64e-SAME: section "llvm.ptrauth", |
58 | 114 | // CHECK-arm64e-SAME: align 8 |
| 115 | +// CHECK-arm64e-LABEL: _swift_coro_task_alloc.ptrauth.3 = private constant { |
| 116 | +// CHECK-arm64e-SAME: ptr @_swift_coro_task_alloc, |
| 117 | +// CHECK-arm64e-SAME: i32 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: ) |
| 125 | +// CHECK-arm64e-SAME: i64 53841 } |
| 126 | +// CHECK-arm64e-SAME: section "llvm.ptrauth" |
| 127 | +// CHECK-arm64e-SAME: align 8 |
| 128 | +// CHECK-arm64e-LABEL: @_swift_coro_task_dealloc.ptrauth.4 = private constant { |
| 129 | +// CHECK-arm64e-SAME: ptr @_swift_coro_task_dealloc, |
| 130 | +// CHECK-arm64e-SAME: i32 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: ) |
| 138 | +// CHECK-arm64e-SAME: i64 23464 }, |
| 139 | +// CHECK-arm64e-SAME: section "llvm.ptrauth", |
| 140 | +// CHECK-arm64e-SAME: align 8 |
59 | 141 | // CHECK-LABEL: _swift_coro_async_allocator = linkonce_odr hidden constant %swift.coro_allocator { |
60 | 142 | // CHECK-SAME: i32 1, |
61 | 143 | // CHECK-SAME: _swift_coro_task_alloc |
| 144 | +// CHECK-ar64e-SAME: .ptrauth |
| 145 | +// CHECK-SAME: _swift_coro_task_dealloc |
| 146 | +// CHECK-ar64e-SAME: .ptrauth |
| 147 | +// CHECK-SAME: _swift_coro_task_alloc |
| 148 | +// CHECK-ar64e-SAME: .ptrauth.3 |
62 | 149 | // CHECK-SAME: _swift_coro_task_dealloc |
| 150 | +// CHECK-ar64e-SAME: .ptrauth.4 |
63 | 151 | // CHECK-SAME: } |
64 | 152 |
|
65 | 153 | // CHECK-LABEL: @_swift_coro_alloc( |
|
74 | 162 | // CHECK-SAME: i32 0 |
75 | 163 | // CHECK-SAME: i32 1 |
76 | 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) |
77 | 167 | // CHECK-arm64e: [[ALLOCATE_FN_BITS:%[^,]+]] = ptrtoint ptr [[ALLOCATE_FN]] to i64 |
78 | | -// 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]]) |
79 | 169 | // CHECK-arm64e: [[ALLOCATE_FN:%[^,]+]] = inttoptr i64 [[ALLOCATE_FN_BITS_AUTHED]] |
80 | 170 | // CHECK: [[ALLOCATION:%[^,]+]] = call swiftcc ptr [[ALLOCATE_FN]](ptr [[FRAME]], ptr swiftcoro [[ALLOCATOR]], [[INT]] [[SIZE]]) |
81 | 171 | // CHECK: ret ptr [[ALLOCATION]] |
|
106 | 196 | // CHECK-SAME: i32 0 |
107 | 197 | // CHECK-SAME: i32 2 |
108 | 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) |
109 | 201 | // CHECK-arm64e: [[DEALLOCATE_FN_BITS:%[^,]+]] = ptrtoint ptr [[DEALLOCATE_FN]] to i64 |
110 | | -// 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]]) |
111 | 203 | // CHECK-arm64e: [[DEALLOCATE_FN:%[^,]+]] = inttoptr i64 [[DEALLOCATE_FN_BITS_AUTHED]] |
112 | 204 | // CHECK: call swiftcc void [[DEALLOCATE_FN]](ptr [[FRAME]], ptr swiftcoro [[ALLOCATOR]], ptr [[ADDRESS]]) |
113 | 205 | // CHECK: ret void |
|
0 commit comments