diff options
Diffstat (limited to 'llvm/lib/Transforms/Coroutines/CoroCleanup.cpp')
| -rw-r--r-- | llvm/lib/Transforms/Coroutines/CoroCleanup.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/llvm/lib/Transforms/Coroutines/CoroCleanup.cpp b/llvm/lib/Transforms/Coroutines/CoroCleanup.cpp index 29978bef661c..3e3825fcd50e 100644 --- a/llvm/lib/Transforms/Coroutines/CoroCleanup.cpp +++ b/llvm/lib/Transforms/Coroutines/CoroCleanup.cpp @@ -29,15 +29,13 @@ struct Lowerer : coro::LowererBase { static void lowerSubFn(IRBuilder<> &Builder, CoroSubFnInst *SubFn) { Builder.SetInsertPoint(SubFn); - Value *FrameRaw = SubFn->getFrame(); + Value *FramePtr = SubFn->getFrame(); int Index = SubFn->getIndex(); - auto *FrameTy = StructType::get( - SubFn->getContext(), {Builder.getInt8PtrTy(), Builder.getInt8PtrTy()}); - PointerType *FramePtrTy = FrameTy->getPointerTo(); + auto *FrameTy = StructType::get(SubFn->getContext(), + {Builder.getPtrTy(), Builder.getPtrTy()}); Builder.SetInsertPoint(SubFn); - auto *FramePtr = Builder.CreateBitCast(FrameRaw, FramePtrTy); auto *Gep = Builder.CreateConstInBoundsGEP2_32(FrameTy, FramePtr, 0, Index); auto *Load = Builder.CreateLoad(FrameTy->getElementType(Index), Gep); |
