File tree Expand file tree Collapse file tree 1 file changed +4
-2
lines changed Expand file tree Collapse file tree 1 file changed +4
-2
lines changed Original file line number Diff line number Diff line change @@ -1260,11 +1260,13 @@ class AsyncNativeCCEntryPointArgumentEmission final
1260
1260
" indirected through the context" );
1261
1261
}
1262
1262
llvm::Value *getIndirectResult (unsigned index) override {
1263
- Address dataAddr = layout.emitCastTo (IGF, context);
1264
1263
auto fieldLayout = layout.getIndirectReturnLayout (index);
1265
1264
Address fieldAddr =
1266
1265
fieldLayout.project (IGF, dataAddr, /* offsets*/ llvm::None);
1267
- return IGF.Builder .CreateLoad (fieldAddr);
1266
+ auto &ti = cast<LoadableTypeInfo>(fieldLayout.getType ());
1267
+ Explosion explosion;
1268
+ ti.loadAsTake (IGF, fieldAddr, explosion);
1269
+ return explosion.claimNext ();
1268
1270
};
1269
1271
llvm::Value *getSelfWitnessTable () override {
1270
1272
llvm_unreachable (" unimplemented" );
You can’t perform that action at this time.
0 commit comments