Skip to content

Commit 6e6dee9

Browse files
authored
[llvm][Coroutines] Avoid Type::getPointerTo() (NFC) (#110520)
`llvm::Type::getPointerTo()` is to be deprecated & removed soon. In `Lowerer::lowerCoroDone`, also remove the no-op bitcast (1st parameter of `llvm::coro::done` intrinsic is `ptr`).
1 parent 7e542a2 commit 6e6dee9

File tree

1 file changed

+4
-9
lines changed

1 file changed

+4
-9
lines changed

llvm/lib/Transforms/Coroutines/CoroEarly.cpp

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,7 @@ class Lowerer : public coro::LowererBase {
3434
public:
3535
Lowerer(Module &M)
3636
: LowererBase(M), Builder(Context),
37-
AnyResumeFnPtrTy(FunctionType::get(Type::getVoidTy(Context), Int8Ptr,
38-
/*isVarArg=*/false)
39-
->getPointerTo()) {}
37+
AnyResumeFnPtrTy(PointerType::getUnqual(Context)) {}
4038
void lowerEarlyIntrinsics(Function &F);
4139
};
4240
}
@@ -91,11 +89,9 @@ void Lowerer::lowerCoroDone(IntrinsicInst *II) {
9189
static_assert(coro::Shape::SwitchFieldIndex::Resume == 0,
9290
"resume function not at offset zero");
9391
auto *FrameTy = Int8Ptr;
94-
PointerType *FramePtrTy = FrameTy->getPointerTo();
9592

9693
Builder.SetInsertPoint(II);
97-
auto *BCI = Builder.CreateBitCast(Operand, FramePtrTy);
98-
auto *Load = Builder.CreateLoad(FrameTy, BCI);
94+
auto *Load = Builder.CreateLoad(FrameTy, Operand);
9995
auto *Cond = Builder.CreateICmpEQ(Load, NullPtr);
10096

10197
II->replaceAllUsesWith(Cond);
@@ -128,10 +124,9 @@ void Lowerer::lowerCoroNoop(IntrinsicInst *II) {
128124

129125
// Create a noop.frame struct type.
130126
StructType *FrameTy = StructType::create(C, "NoopCoro.Frame");
131-
auto *FramePtrTy = FrameTy->getPointerTo();
132-
auto *FnTy = FunctionType::get(Type::getVoidTy(C), FramePtrTy,
127+
auto *FnTy = FunctionType::get(Type::getVoidTy(C), Builder.getPtrTy(0),
133128
/*isVarArg=*/false);
134-
auto *FnPtrTy = FnTy->getPointerTo();
129+
auto *FnPtrTy = Builder.getPtrTy(0);
135130
FrameTy->setBody({FnPtrTy, FnPtrTy});
136131

137132
// Create a Noop function that does nothing.

0 commit comments

Comments
 (0)