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

References

lib/Transforms/Coroutines/CoroSplit.cpp
 1190   assert(Shape.ABI == coro::ABI::Retcon ||
 1191          Shape.ABI == coro::ABI::RetconOnce);
 1201   auto *Id = cast<AnyCoroIdRetconInst>(Shape.CoroBegin->getId());
 1203   if (Shape.RetconLowering.IsFrameInlineInStorage) {
 1210     auto Size = DL.getTypeAllocSize(Shape.FrameTy);
 1214     RawFramePtr = Shape.emitAlloc(Builder, Builder.getInt64(Size), nullptr);
 1216       Builder.CreateBitCast(RawFramePtr, Shape.CoroBegin->getType());
 1227     TrackingVH<Instruction> Handle(Shape.FramePtr);
 1228     Shape.CoroBegin->replaceAllUsesWith(RawFramePtr);
 1229     Shape.FramePtr = Handle.getValPtr();
 1240   Clones.reserve(Shape.CoroSuspends.size());
 1241   for (size_t i = 0, e = Shape.CoroSuspends.size(); i != e; ++i) {
 1242     auto Suspend = cast<CoroSuspendRetconInst>(Shape.CoroSuspends[i]);
 1246       createCloneDeclaration(F, Shape, ".resume." + Twine(i), NextF);
 1260       Shape.RetconLowering.ReturnBlock = ReturnBB;
 1269                                              Shape.CoroSuspends.size()));
 1272       for (auto ResultTy : Shape.getRetconResultTypes())
 1274                                                Shape.CoroSuspends.size()));
 1309   assert(Clones.size() == Shape.CoroSuspends.size());
 1310   for (size_t i = 0, e = Shape.CoroSuspends.size(); i != e; ++i) {
 1311     auto Suspend = Shape.CoroSuspends[i];
 1314     CoroCloner(F, "resume." + Twine(i), Shape, Clone, Suspend).create();