#include "CGCleanup.h"
#include "CodeGenFunction.h"
#include "llvm/ADT/ScopeExit.h"
#include "clang/AST/StmtCXX.h"
#include "clang/AST/StmtVisitor.h"
Go to the source code of this file.
|
static void | createCoroData (CodeGenFunction &CGF, CodeGenFunction::CGCoroInfo &CurCoro, llvm::CallInst *CoroId, CallExpr const *CoroIdExpr=nullptr) |
|
static SmallString< 32 > | buildSuspendPrefixStr (CGCoroData &Coro, AwaitKind Kind) |
|
static bool | memberCallExpressionCanThrow (const Expr *E) |
|
static LValueOrRValue | emitSuspendExpression (CodeGenFunction &CGF, CGCoroData &Coro, CoroutineSuspendExpr const &S, AwaitKind Kind, AggValueSlot aggSlot, bool ignoreResult, bool forLValue) |
|
static QualType | getCoroutineSuspendExprReturnType (const ASTContext &Ctx, const CoroutineSuspendExpr *E) |
|
static SmallVector< llvm::OperandBundleDef, 1 > | getBundlesForCoroEnd (CodeGenFunction &CGF) |
|
static void | emitBodyAndFallthrough (CodeGenFunction &CGF, const CoroutineBodyStmt &S, Stmt *Body) |
|
◆ AwaitKind
◆ buildSuspendPrefixStr()
◆ createCoroData()
◆ emitBodyAndFallthrough()
◆ emitSuspendExpression()
◆ getBundlesForCoroEnd()
Definition at line 383 of file CGCoroutine.cpp.
References clang::CodeGen::CodeGenFunction::Builder, clang::CodeGen::CodeGenFunction::CGM, clang::CodeGen::CodeGenFunction::createBasicBlock(), clang::CodeGen::CodeGenFunction::CurCoro, clang::CodeGen::CodeGenFunction::CurrentFuncletPad, clang::CodeGen::CodeGenFunction::CGCoroInfo::Data, clang::CodeGen::CodeGenFunction::EmitBlock(), clang::CodeGen::CodeGenFunction::EmitStmt(), clang::CodeGen::CodeGenModule::Error(), clang::CodeGen::CodeGenFunction::getEHResumeBlock(), and clang::CodeGen::CodeGenTypeCache::Int8PtrTy.
◆ getCoroutineSuspendExprReturnType()
◆ memberCallExpressionCanThrow()
static bool memberCallExpressionCanThrow |
( |
const Expr * |
E | ) |
|
|
static |