aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Coroutines/CoroCleanup.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Transforms/Coroutines/CoroCleanup.cpp')
-rw-r--r--llvm/lib/Transforms/Coroutines/CoroCleanup.cpp8
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);