• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/lib/Transforms/Coroutines/

Lines Matching refs:Builder

101   IRBuilder<> Builder;
113 FKind(FKind), Builder(OrigF.getContext()) {
121 FKind(Kind::Continuation), Builder(OrigF.getContext()),
162 static void maybeFreeRetconStorage(IRBuilder<> &Builder,
170 Shape.emitDealloc(Builder, FramePtr, CG);
178 IRBuilder<> Builder(End);
188 Builder.CreateRetVoid();
194 maybeFreeRetconStorage(Builder, Shape, FramePtr, CG);
195 Builder.CreateRetVoid();
201 maybeFreeRetconStorage(Builder, Shape, FramePtr, CG);
209 ReturnValue = Builder.CreateInsertValue(UndefValue::get(RetStructTy),
212 Builder.CreateRet(ReturnValue);
226 IRBuilder<> Builder(End);
238 maybeFreeRetconStorage(Builder, Shape, FramePtr, CG);
245 auto *CleanupRet = Builder.CreateCleanupRet(FromPad, nullptr);
283 IRBuilder<> Builder(NewEntry);
286 auto *GepIndex = Builder.CreateStructGEP(
288 auto *Index = Builder.CreateLoad(Shape.getIndexType(), GepIndex, "index");
290 Builder.CreateSwitch(Index, UnreachBB, Shape.CoroSuspends.size());
302 Builder.SetInsertPoint(Save);
305 auto *GepIndex = Builder.CreateStructGEP(FrameTy, FramePtr,
310 Builder.CreateStore(NullPtr, GepIndex);
312 auto *GepIndex = Builder.CreateStructGEP(
314 Builder.CreateStore(IndexVal, GepIndex);
350 auto *PN = PHINode::Create(Builder.getInt8Ty(), 2, "", &LandingBB->front());
352 PN->addIncoming(Builder.getInt8(-1), SuspendBB);
358 Builder.SetInsertPoint(UnreachBB);
359 Builder.CreateUnreachable();
384 Builder.SetInsertPoint(OldSwitchBB->getTerminator());
385 auto *GepIndex = Builder.CreateStructGEP(Shape.FrameTy, NewFramePtr,
388 auto *Load = Builder.CreateLoad(Shape.getSwitchResumePointerType(),
390 auto *Cond = Builder.CreateIsNull(Load);
391 Builder.CreateCondBr(Cond, ResumeBB, NewSwitchBB);
454 Agg = Builder.CreateInsertValue(Agg, Args[I], I);
470 SuspendResult = Builder.getInt8(isSwitchDestroyFunction() ? 1 : 0);
521 IRBuilder<> Builder(F.getEntryBlock().getFirstNonPHIOrDbg());
522 auto Alloca = Builder.CreateAlloca(ValueTy);
531 IRBuilder<> Builder(MappedOp);
538 MappedResult = Builder.CreateLoad(ValueTy, Slot);
544 Builder.CreateStore(Value, Slot);
580 Builder.SetInsertPoint(BranchToEntry);
581 Builder.CreateUnreachable();
594 Builder.SetInsertPoint(Entry);
601 Builder.CreateBr(SwitchBB);
613 Builder.CreateBr(Branch->getSuccessor(0));
621 // Builder should be inserting to the front of the new entry block.
636 return Builder.CreateBitCast(NewStorage, FramePtrTy);
640 Builder.CreateBitCast(NewStorage, FramePtrTy->getPointerTo());
641 return Builder.CreateLoad(FramePtrTy, FramePtrPtr);
748 Builder.SetInsertPoint(&NewF->getEntryBlock().front());
757 auto *NewVFrame = Builder.CreateBitCast(
758 NewFramePtr, Type::getInt8PtrTy(Builder.getContext()), "vFrame");
870 IRBuilder<> Builder(Shape.FramePtr->getNextNode());
871 auto *ResumeAddr = Builder.CreateStructGEP(
874 Builder.CreateStore(ResumeFn, ResumeAddr);
882 DestroyOrCleanupFn = Builder.CreateSelect(CA, DestroyFn, CleanupFn);
885 auto *DestroyAddr = Builder.CreateStructGEP(
888 Builder.CreateStore(DestroyOrCleanupFn, DestroyAddr);
1066 IRBuilder<> Builder(AllocInst);
1067 auto *Frame = Builder.CreateAlloca(Shape.FrameTy);
1069 auto *VFrame = Builder.CreateBitCast(Frame, Builder.getInt8PtrTy());
1070 AllocInst->replaceAllUsesWith(Builder.getFalse());
1292 IRBuilder<> Builder(Id);
1301 RawFramePtr = Shape.emitAlloc(Builder, Builder.getInt64(Size), nullptr);
1303 Builder.CreateBitCast(RawFramePtr, Shape.CoroBegin->getType());
1306 auto Dest = Builder.CreateBitCast(Id->getStorage(),
1308 Builder.CreateStore(RawFramePtr, Dest);
1349 IRBuilder<> Builder(ReturnBB);
1355 ReturnPHIs.push_back(Builder.CreatePHI(Continuation->getType(),
1360 ReturnPHIs.push_back(Builder.CreatePHI(ResultTy,
1372 Builder.CreateBitCast(ReturnPHIs[0], CastedContinuationTy);
1379 RetV = Builder.CreateInsertValue(RetV, CastedContinuation, 0);
1381 RetV = Builder.CreateInsertValue(RetV, ReturnPHIs[I], I);
1384 Builder.CreateRet(RetV);