@@ -90,11 +90,11 @@ public distributed actor MyOtherActor {
90
90
91
91
/// Read the current offset and cast an element to `Int`
92
92
93
- // CHECK: store i8* %1, i8** %offset, align 8
94
- // CHECK-NEXT: %elt_offset = load i8*, i8** %offset, align 8
93
+ // CHECK: store i8* %1, i8** %offset
94
+ // CHECK-NEXT: %elt_offset = load i8*, i8** %offset
95
95
// CHECK-NEXT: [[ELT_PTR:%.*]] = bitcast i8* %elt_offset to %TSi*
96
96
// CHECK-NEXT: [[NATIVE_VAL_LOC:%.*]] = getelementptr inbounds %TSi, %TSi* [[ELT_PTR]], i32 0, i32 0
97
- // CHECK-NEXT: [[ARG_VAL:%.*]] = load i64, i64* [[NATIVE_VAL_LOC]], align 8
97
+ // CHECK-NEXT: [[ARG_VAL:%.*]] = load i64, i64* [[NATIVE_VAL_LOC]]
98
98
99
99
/// Retrieve an async pointer to the distributed thunk for `simple1`
100
100
@@ -117,7 +117,7 @@ public distributed actor MyOtherActor {
117
117
// CHECK: define internal swifttailcc void @"$s27distributed_actor_accessors7MyActorC7simple2ySSSiFTETF"
118
118
119
119
/// !!! - We are not going to double-check argument extraction here since it's the same as `simple1`.
120
- // CHECK: [[NATIVE_ARG_VAL:%.*]] = load i64, i64* {{.*}}, align 8
120
+ // CHECK: [[NATIVE_ARG_VAL:%.*]] = load i64, i64* {{.*}}
121
121
122
122
/// Load async pointer to distributed thunk for `simple2`
123
123
@@ -140,8 +140,8 @@ public distributed actor MyOtherActor {
140
140
141
141
/// Initialize the result buffer with values produced by the thunk
142
142
143
- // CHECK: store i64 [[STR_SIZE]], i64* %._guts._object._countAndFlagsBits._value, align 8
144
- // CHECK: store %swift.bridge* [[STR_VAL]], %swift.bridge** %._guts._object._object, align 8
143
+ // CHECK: store i64 [[STR_SIZE]], i64* %._guts._object._countAndFlagsBits._value
144
+ // CHECK: store %swift.bridge* [[STR_VAL]], %swift.bridge** %._guts._object._object
145
145
146
146
// CHECK: {{.*}} = call i1 (i8*, i1, ...) @llvm.coro.end.async({{.*}}, %swift.context* {{.*}}, %swift.error* {{.*}})
147
147
@@ -158,7 +158,7 @@ public distributed actor MyOtherActor {
158
158
// CHECK-NEXT: %._guts = getelementptr inbounds %TSS, %TSS* [[ELT_PTR]], i32 0, i32 0
159
159
160
160
// CHECK: [[STR_SIZE:%.*]] = load i64, i64* %._guts._object._countAndFlagsBits._value
161
- // CHECK: [[STR_VAL:%.*]] = load %swift.bridge*, %swift.bridge** %._guts._object._object, align 8
161
+ // CHECK: [[STR_VAL:%.*]] = load %swift.bridge*, %swift.bridge** %._guts._object._object
162
162
163
163
/// Load pointer to a distributed thunk for `simple3`
164
164
@@ -174,7 +174,7 @@ public distributed actor MyOtherActor {
174
174
// CHECK-NEXT: {{.*}} = call i8* @__swift_async_resume_project_context(i8* [[TASK_REF]])
175
175
// CHECK: [[INT_RES:%.*]] = extractvalue { i8*, i64, %swift.error* } [[THUNK_RESULT]], 1
176
176
// CHECK: %._value = getelementptr inbounds %TSi, %TSi* [[TYPED_RESULT_BUFF]], i32 0, i32 0
177
- // CHECK: store i64 [[INT_RES]], i64* %._value, align 8
177
+ // CHECK: store i64 [[INT_RES]], i64* %._value
178
178
// CHECK: {{.*}} = call i1 (i8*, i1, ...) @llvm.coro.end.async({{.*}}, %swift.context* {{.*}}, %swift.error* {{.*}})
179
179
180
180
/// --> Thunk and distributed method accessor for `single_case_enum`
@@ -187,8 +187,8 @@ public distributed actor MyOtherActor {
187
187
188
188
// CHECK: [[OFFSET:%.*]] = bitcast i8** %offset to i8*
189
189
// CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* [[OFFSET]])
190
- // CHECK-NEXT: store i8* [[BUFFER]], i8** %offset, align 8
191
- // CHECK-NEXT: %elt_offset = load i8*, i8** %offset, align 8
190
+ // CHECK-NEXT: store i8* [[BUFFER]], i8** %offset
191
+ // CHECK-NEXT: %elt_offset = load i8*, i8** %offset
192
192
// CHECK-NEXT: [[ELT_PTR:.*]] = bitcast i8* %elt_offset to %T27distributed_actor_accessors7SimpleEO*
193
193
// CHECK-NEXT: [[OFFSET:%.*]] = bitcast i8** %offset to i8*
194
194
// CHECK-NEXT call void @llvm.lifetime.end.p0i8(i64 8, i8* [[OFFSET]])
@@ -207,8 +207,8 @@ public distributed actor MyOtherActor {
207
207
/// First, Load both arguments from the buffer.
208
208
209
209
// CHECK: [[TYPED_RESULT_BUFF:%.*]] = bitcast i8* %2 to %T27distributed_actor_accessors9IndirectEO*
210
- // CHECK: store i8* %1, i8** %offset, align 8
211
- // CHECK-NEXT: %elt_offset = load i8*, i8** %offset, align 8
210
+ // CHECK: store i8* %1, i8** %offset
211
+ // CHECK-NEXT: %elt_offset = load i8*, i8** %offset
212
212
213
213
// CHECK-NEXT: [[ENUM_PTR:%.*]] = bitcast i8* %elt_offset to %T27distributed_actor_accessors9IndirectEO*
214
214
// CHECK-NEXT: [[NATIVE_ENUM_PTR:%.*]] = bitcast %T27distributed_actor_accessors9IndirectEO* [[ENUM_PTR]] to i64*
@@ -229,7 +229,7 @@ public distributed actor MyOtherActor {
229
229
// CHECK-NEXT: {{.*}} = call i8* @__swift_async_resume_project_context(i8* [[TASK_REF]])
230
230
// CHECK: [[ENUM_RESULT:%.*]] = extractvalue { i8*, i64, %swift.error* } [[THUNK_RESULT]], 1
231
231
// CHECK: [[NATIVE_RESULT_PTR:%.*]] = bitcast %T27distributed_actor_accessors9IndirectEO* [[TYPED_RESULT_BUFF]] to i64*
232
- // CHECK-NEXT: store i64 [[ENUM_RESULT]], i64* [[NATIVE_RESULT_PTR]], align 8
232
+ // CHECK-NEXT: store i64 [[ENUM_RESULT]], i64* [[NATIVE_RESULT_PTR]]
233
233
234
234
// CHECK: {{.*}} = call i1 (i8*, i1, ...) @llvm.coro.end.async({{.*}}, %swift.context* {{.*}}, %swift.error* {{.*}})
235
235
@@ -246,24 +246,24 @@ public distributed actor MyOtherActor {
246
246
247
247
/// -> [Int]
248
248
249
- // CHECK: %elt_offset = load i8*, i8** %offset, align 8
249
+ // CHECK: %elt_offset = load i8*, i8** %offset
250
250
// CHECK-NEXT: [[ARR_PTR:%.*]] = bitcast i8* %elt_offset to %TSa*
251
251
// CHECK-NEXT: %._buffer = getelementptr inbounds %TSa, %TSa* [[ARR_PTR]], i32 0, i32 0
252
252
// CHECK: [[NATIVE_ARR_VAL:%.*]] = load [[ARR_STORAGE_TYPE:%.*]], [[ARR_STORAGE_TYPE]]* %._buffer._storage
253
253
// CHECK: [[ARR_PTR_INT:%.*]] = ptrtoint %TSa* [[ARR_PTR]] to i64
254
254
// CHECK-NEXT: [[NEXT_ELT:%.*]] = add i64 [[ARR_PTR_INT]], 8
255
255
// CHECK-NEXT: [[OPAQUE_NEXT_ELT:%.*]] = inttoptr i64 [[NEXT_ELT]] to i8*
256
- // CHECK-NEXT: store i8* [[OPAQUE_NEXT_ELT]], i8** %offset, align 8
256
+ // CHECK-NEXT: store i8* [[OPAQUE_NEXT_ELT]], i8** %offset
257
257
258
258
/// -> Obj
259
259
260
- // CHECK-NEXT: %elt_offset1 = load i8*, i8** %offset, align 8
260
+ // CHECK-NEXT: %elt_offset1 = load i8*, i8** %offset
261
261
// CHECK-NEXT: [[OBJ_PTR:%.*]] = bitcast i8* %elt_offset1 to %T27distributed_actor_accessors3ObjC**
262
- // CHECK-NEXT: [[NATIVE_OBJ_VAL:%.*]] = load %T27distributed_actor_accessors3ObjC*, %T27distributed_actor_accessors3ObjC** [[OBJ_PTR]], align 8
262
+ // CHECK-NEXT: [[NATIVE_OBJ_VAL:%.*]] = load %T27distributed_actor_accessors3ObjC*, %T27distributed_actor_accessors3ObjC** [[OBJ_PTR]]
263
263
// CHECK: [[OBJ_PTR_INT:%.*]] = ptrtoint %T27distributed_actor_accessors3ObjC** [[OBJ_PTR]] to i64
264
264
// CHECK-NEXT: [[NEXT_ELT:%.*]] = add i64 [[OBJ_PTR_INT]], 8
265
265
// CHECK-NEXT: [[NEXT_ELT_PTR:%.*]] = inttoptr i64 [[NEXT_ELT]] to i8*
266
- // CHECK-NEXT: store i8* [[NEXT_ELT_PTR]], i8** %offset, align 8
266
+ // CHECK-NEXT: store i8* [[NEXT_ELT_PTR]], i8** %offset
267
267
268
268
/// -> String?
269
269
@@ -281,7 +281,7 @@ public distributed actor MyOtherActor {
281
281
282
282
/// -> LargeStruct (passed indirectly)
283
283
284
- // CHECK-NEXT: %elt_offset3 = load i8*, i8** %offset, align 8
284
+ // CHECK-NEXT: %elt_offset3 = load i8*, i8** %offset
285
285
// CHECK-NEXT: [[STRUCT_PTR:%.*]] = bitcast i8* %elt_offset3 to %T27distributed_actor_accessors11LargeStructV*
286
286
287
287
// CHECK: [[INDIRECT_RESULT_BUFF:%.*]] = bitcast %swift.opaque* [[TYPED_RESULT_BUFF]] to %T27distributed_actor_accessors11LargeStructV*
@@ -300,11 +300,11 @@ public distributed actor MyOtherActor {
300
300
301
301
// CHECK: define internal swifttailcc void @"$s27distributed_actor_accessors12MyOtherActorC5emptyyyFTETF"(%swift.context* swiftasync {{.*}}, i8* [[ARG_BUFF:%.*]], i8* [[RESULT_BUFF:%.*]], %swift.refcounted* swiftself {{.*}})
302
302
// CHECK-NEXT: entry:
303
- // CHECK-NEXT: {{.*}} = alloca %swift.context*, align 8
304
- // CHECK-NEXT: %swifterror = alloca swifterror %swift.error*, align 8
303
+ // CHECK-NEXT: {{.*}} = alloca %swift.context*
304
+ // CHECK-NEXT: %swifterror = alloca swifterror %swift.error*
305
305
// CHECK-NEXT: {{.*}} = call token @llvm.coro.id.async(i32 20, i32 16, i32 0, i8* bitcast (%swift.async_func_pointer* @"$s27distributed_actor_accessors12MyOtherActorC5emptyyyFTETFTu" to i8*))
306
306
// CHECK-NEXT: {{.*}} = call i8* @llvm.coro.begin(token {{%.*}}, i8* null)
307
- // CHECK-NEXT: store %swift.context* {{.*}}, %swift.context** {{.*}}, align 8
308
- // CHECK-NEXT: store %swift.error* null, %swift.error** %swifterror, align 8
307
+ // CHECK-NEXT: store %swift.context* {{.*}}, %swift.context** {{.*}}
308
+ // CHECK-NEXT: store %swift.error* null, %swift.error** %swifterror
309
309
// CHECK-NEXT: {{.*}} = bitcast i8* [[RESULT_BUFF]] to %swift.opaque*
310
- // CHECK-NEXT: {{.*}} = load i32, i32* getelementptr inbounds (%swift.async_func_pointer, %swift.async_func_pointer* bitcast (void (%swift.context*, %T27distributed_actor_accessors12MyOtherActorC*)* @"$s27distributed_actor_accessors12MyOtherActorC5emptyyyFTE" to %swift.async_func_pointer*), i32 0, i32 0), align 8
310
+ // CHECK-NEXT: {{.*}} = load i32, i32* getelementptr inbounds (%swift.async_func_pointer, %swift.async_func_pointer* bitcast (void (%swift.context*, %T27distributed_actor_accessors12MyOtherActorC*)* @"$s27distributed_actor_accessors12MyOtherActorC5emptyyyFTE" to %swift.async_func_pointer*), i32 0, i32 0)
0 commit comments