reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Transforms/Coroutines/CoroSplit.cpp
  372   assert(Shape.ABI == coro::ABI::Switch &&
  373          Shape.SwitchLowering.HasFinalSuspend);
  374   auto *Switch = cast<SwitchInst>(VMap[Shape.SwitchLowering.ResumeSwitch]);
  382     auto *GepIndex = Builder.CreateStructGEP(Shape.FrameTy, NewFramePtr,
  385     auto *Load = Builder.CreateLoad(Shape.getSwitchResumePointerType(),
  415   assert(Shape.ABI == coro::ABI::Retcon ||
  416          Shape.ABI == coro::ABI::RetconOnce);
  459   switch (Shape.ABI) {
  478   for (AnyCoroSuspendInst *CS : Shape.CoroSuspends) {
  489   for (CoroEndInst *CE : Shape.CoroEnds) {
  493     replaceCoroEnd(NewCE, Shape, NewFramePtr, /*in resume*/ true, nullptr);
  556   ::replaceSwiftErrorOps(*NewF, Shape, &VMap);
  565   auto *Entry = cast<BasicBlock>(VMap[Shape.AllocaSpillBlock]);
  585   switch (Shape.ABI) {
  590       cast<BasicBlock>(VMap[Shape.SwitchLowering.ResumeEntryBlock]);
  613   switch (Shape.ABI) {
  622     auto FramePtrTy = Shape.FrameTy->getPointerTo();
  625     if (Shape.RetconLowering.IsFrameInlineInStorage)
  642     NewF = createCloneDeclaration(OrigF, Shape, Suffix,
  679   switch (Shape.ABI) {
  691     NewAttrs = Shape.RetconLowering.ResumePrototype->getAttributes();
  699   switch (Shape.ABI) {
  719   NewF->setCallingConv(Shape.getResumeFunctionCC());
  728   Value *OldFramePtr = VMap[Shape.FramePtr];
  735   Value *OldVFrame = cast<Value>(VMap[Shape.CoroBegin]);
  738   switch (Shape.ABI) {
  743     if (Shape.SwitchLowering.HasFinalSuspend)
  768   if (Shape.ABI == coro::ABI::Switch)
  769     coro::replaceCoroFree(cast<CoroIdInst>(VMap[Shape.CoroBegin->getId()]),