Home
last modified time | relevance | path

Searched refs:CoroBegin (Results 1 – 9 of 9) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Coroutines/
H A DCoroEarly.cpp33 void hidePromiseAlloca(CoroIdInst *CoroId, CoroBeginInst *CoroBegin);
161 void Lowerer::hidePromiseAlloca(CoroIdInst *CoroId, CoroBeginInst *CoroBegin) { in hidePromiseAlloca() argument
163 if (!PA || !CoroBegin) in hidePromiseAlloca()
165 Builder.SetInsertPoint(*CoroBegin->getInsertionPointAfterDef()); in hidePromiseAlloca()
169 SmallVector<Value *, 3> Arg{CoroBegin, Alignment, FromPromise}; in hidePromiseAlloca()
192 CoroBeginInst *CoroBegin = nullptr; in lowerEarlyIntrinsics() local
205 if (CoroBegin) in lowerEarlyIntrinsics()
208 CoroBegin = cast<CoroBeginInst>(&I); in lowerEarlyIntrinsics()
269 hidePromiseAlloca(CoroId, CoroBegin); in lowerEarlyIntrinsics()
H A DSpillUtils.cpp168 !DT.dominates(CoroShape.CoroBegin, PI.getEscapingInst())) { in visit()
384 if (!DT.dominates(CoroShape.CoroBegin, &I)) in handleMayWrite()
390 if (DT.dominates(CoroShape.CoroBegin, U)) in usedAfterCoroBegin()
399 if (DT.dominates(CoroShape.CoroBegin, &I) || !usedAfterCoroBegin(I)) in handleAlias()
469 if (isNonSpilledIntrinsic(I) || &I == Shape.CoroBegin) in collectSpillsAndAllocasFromInsts()
538 CoroBeginInst *CoroBegin, in sinkSpillUsesAfterCoroBegin() argument
548 if (Inst->getParent() != CoroBegin->getParent() || in sinkSpillUsesAfterCoroBegin()
549 Dom.dominates(CoroBegin, Inst)) in sinkSpillUsesAfterCoroBegin()
565 if (Dom.dominates(CoroBegin, Inst)) in sinkSpillUsesAfterCoroBegin()
579 Instruction *InsertPt = CoroBegin->getNextNode(); in sinkSpillUsesAfterCoroBegin()
[all …]
H A DCoroutines.cpp169 static CoroSaveInst *createCoroSave(CoroBeginInst *CoroBegin, in createCoroSave() argument
174 CallInst::Create(Fn, CoroBegin, "", SuspendInst->getIterator())); in createCoroSave()
247 if (CoroBegin) in analyze()
253 CoroBegin = CB; in analyze()
288 if (!CoroBegin) in analyze()
292 auto Id = CoroBegin->getId(); in analyze()
344 assert(!CoroBegin); in invalidateCoroutine()
384 createCoroSave(Shape.CoroBegin, Suspend); in init()
477 CF->replaceAllUsesWith(CoroBegin); in cleanCoroutine()
489 ? cast<Value>(CoroBegin) in cleanCoroutine()
H A DCoroSplit.cpp1049 Value *OldVFrame = cast<Value>(VMap[Shape.CoroBegin]); in create()
1102 coro::replaceCoroFree(cast<CoroIdInst>(VMap[Shape.CoroBegin->getId()]), in create()
1168 auto *CoroBegin = Shape.CoroBegin; in handleNoSuspendCoroutine() local
1180 CoroBegin->replaceAllUsesWith(Frame); in handleNoSuspendCoroutine()
1182 CoroBegin->replaceAllUsesWith(CoroBegin->getMem()); in handleNoSuspendCoroutine()
1190 CoroBegin->replaceAllUsesWith(PoisonValue::get(CoroBegin->getType())); in handleNoSuspendCoroutine()
1194 CoroBegin->eraseFromParent(); in handleNoSuspendCoroutine()
1195 Shape.CoroBegin = nullptr; in handleNoSuspendCoroutine()
1270 CoroBeginInst *CoroBegin) { in simplifySuspendPoint() argument
1291 if (SubFn->getFrame() != CoroBegin) in simplifySuspendPoint()
[all …]
H A DCoroFrame.cpp999 LLVMContext &C = Shape.CoroBegin->getContext(); in insertSpills()
1000 Function *F = Shape.CoroBegin->getFunction(); in insertSpills()
1209 else if (DT.dominates(Shape.CoroBegin, I)) in insertSpills()
1252 AliasPtr, [&](Use &U) { return DT.dominates(Shape.CoroBegin, U); }); in insertSpills()
1265 if (!Inst || DT.dominates(Shape.CoroBegin, Inst)) in insertSpills()
2079 sinkSpillUsesAfterCoroBegin(DT, Shape.CoroBegin, Spills, Allocas); in buildCoroutineFrame()
2084 Shape.FramePtr = Shape.CoroBegin; in buildCoroutineFrame()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Coroutines/
H A DCoroShape.h54 CoroBeginInst *CoroBegin = nullptr; member
66 CoroBegin = nullptr; in clear()
160 return cast<CoroIdInst>(CoroBegin->getId()); in getSwitchCoroId()
165 return cast<AnyCoroIdRetconInst>(CoroBegin->getId()); in getRetconCoroId()
170 return cast<CoroIdAsyncInst>(CoroBegin->getId()); in getAsyncCoroId()
212 auto FTy = CoroBegin->getFunction()->getFunctionType(); in getRetconResultTypes()
278 if (!CoroBegin) { in Shape()
H A DSpillUtils.h47 CoroBeginInst *CoroBegin,
/freebsd/contrib/llvm-project/clang/lib/CodeGen/
H A DCGCoroutine.cpp74 llvm::CallInst *CoroBegin = nullptr; member
255 assert(CGF.CurCoro.Data && CGF.CurCoro.Data->CoroBegin && in emitSuspendExpression()
262 SuspendIntrinsicCallArgs.push_back(CGF.CurCoro.Data->CoroBegin); in emitSuspendExpression()
836 auto *CoroBegin = Builder.CreateCall( in EmitCoroutineBody() local
838 CurCoro.Data->CoroBegin = CoroBegin; in EmitCoroutineBody()
994 if (CurCoro.Data && CurCoro.Data->CoroBegin) { in EmitCoroutineIntrinsic()
995 return RValue::get(CurCoro.Data->CoroBegin); in EmitCoroutineIntrinsic()
1061 CurCoro.Data->CoroBegin = Call; in EmitCoroutineIntrinsic()
/freebsd/contrib/llvm-project/clang/include/clang/Basic/
H A DBuiltins.td4591 def CoroBegin : CoroLangBuiltin {