|
LLVM
4.0.0
|
Classes | |
| struct | LowererBase |
| struct | Shape |
Functions | |
| bool | declaresIntrinsics (Module &M, std::initializer_list< StringRef >) |
| void | replaceAllCoroAllocs (CoroBeginInst *CB, bool Replacement) |
| void | replaceAllCoroFrees (CoroBeginInst *CB, Value *Replacement) |
| void | replaceCoroFree (CoroIdInst *CoroId, bool Elide) |
| void | updateCallGraph (Function &Caller, ArrayRef< Function * > Funcs, CallGraph &CG, CallGraphSCC &SCC) |
| void | buildCoroutineFrame (Function &F, Shape &Shape) |
| void llvm::coro::buildCoroutineFrame | ( | Function & | F, |
| Shape & | Shape | ||
| ) |
Definition at line 650 of file CoroFrame.cpp.
References assert(), buildFrameType(), llvm::CoroIdInst::clearPromise(), llvm::coro::Shape::CoroBegin, llvm::coro::Shape::CoroEnds, llvm::coro::Shape::CoroSuspends, DEBUG, dump(), llvm::coro::Shape::FramePtr, llvm::coro::Shape::FrameTy, llvm::Function::getArgumentList(), llvm::Function::getContext(), llvm::CoroSuspendInst::getCoroSave(), llvm::CoroBeginInst::getId(), llvm::CoroIdInst::getPromise(), insertSpills(), instructions, isCoroutineStructureIntrinsic(), llvm::LowerDbgDeclare(), materializable(), moveSpillUsesAfterCoroBegin(), llvm::coro::Shape::PromiseAlloca, llvm::report_fatal_error(), rewriteMaterializableInstructions(), rewritePHIs(), splitAround(), and llvm::Value::users().
Referenced by splitCoroutine().
Definition at line 118 of file Coroutines.cpp.
References assert(), llvm::Module::getNamedValue(), and isCoroutineIntrinsicName().
| void llvm::coro::replaceAllCoroAllocs | ( | CoroBeginInst * | CB, |
| bool | Replacement | ||
| ) |
| void llvm::coro::replaceAllCoroFrees | ( | CoroBeginInst * | CB, |
| Value * | Replacement | ||
| ) |
| void llvm::coro::replaceCoroFree | ( | CoroIdInst * | CoroId, |
| bool | Elide | ||
| ) |
Definition at line 132 of file Coroutines.cpp.
References llvm::SmallVectorBase::empty(), llvm::SmallVectorTemplateCommon< T >::front(), llvm::ConstantPointerNull::get(), llvm::Value::getContext(), llvm::CoroFreeInst::getFrame(), llvm::Type::getInt8PtrTy(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::Value::replaceAllUsesWith(), and llvm::Value::users().
Referenced by createClone(), and handleNoSuspendCoroutine().
| void llvm::coro::updateCallGraph | ( | Function & | Caller, |
| ArrayRef< Function * > | Funcs, | ||
| CallGraph & | CG, | ||
| CallGraphSCC & | SCC | ||
| ) |
Definition at line 173 of file Coroutines.cpp.
References llvm::CallGraphSCC::begin(), buildCGN(), llvm::CallGraphSCC::end(), F, llvm::CallGraph::getOrInsertFunction(), and llvm::CallGraphSCC::initialize().
Referenced by splitCoroutine().
1.8.6