File tree Expand file tree Collapse file tree 1 file changed +1
-17
lines changed Expand file tree Collapse file tree 1 file changed +1
-17
lines changed Original file line number Diff line number Diff line change @@ -2390,28 +2390,12 @@ class AsyncCallEmission final : public CallEmission {
2390
2390
}
2391
2391
}
2392
2392
void emitCallToUnmappedExplosion (llvm::CallInst *call, Explosion &out) override {
2393
- SILFunctionConventions fnConv (getCallee ().getSubstFunctionType (),
2394
- IGF.getSILModule ());
2395
- auto resultType =
2396
- fnConv.getSILResultType (IGF.IGM .getMaximalTypeExpansionContext ());
2397
- auto &nativeSchema =
2398
- IGF.IGM .getTypeInfo (resultType).nativeReturnValueSchema (IGF.IGM );
2399
- auto expectedNativeResultType = nativeSchema.getExpandedType (IGF.IGM );
2400
- if (expectedNativeResultType->isVoidTy ()) {
2401
- // If the async return is void, there is no return to move out of the
2402
- // argument buffer.
2403
- return ;
2404
- }
2405
- // Gather the values.
2406
- Explosion nativeExplosion;
2407
2393
auto layout = getAsyncContextLayout ();
2408
2394
for (unsigned index = 0 , count = layout.getDirectReturnCount ();
2409
2395
index < count; ++index) {
2410
2396
auto fieldLayout = layout.getDirectReturnLayout (index);
2411
- loadValue (fieldLayout, nativeExplosion );
2397
+ loadValue (fieldLayout, out );
2412
2398
}
2413
-
2414
- out = nativeSchema.mapFromNative (IGF.IGM , IGF, nativeExplosion, resultType);
2415
2399
}
2416
2400
Address getCalleeErrorSlot (SILType errorType) override {
2417
2401
auto layout = getAsyncContextLayout ();
You can’t perform that action at this time.
0 commit comments