|
clang
5.0.0
|
#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.
Classes | |
| struct | clang::CodeGen::CGCoroData |
Enumerations | |
| enum | AwaitKind |
Functions | |
| static void | createCoroData (CodeGenFunction &CGF, CodeGenFunction::CGCoroInfo &CurCoro, llvm::CallInst *CoroId, CallExpr const *CoroIdExpr=nullptr) |
| static SmallString< 32 > | buildSuspendPrefixStr (CGCoroData &Coro, AwaitKind Kind) |
| 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) |
|
strong |
Definition at line 27 of file CGCoroutine.cpp.
|
static |
Definition at line 104 of file CGCoroutine.cpp.
References clang::CodeGen::CGCoroData::AwaitNum, and clang::CodeGen::CGCoroData::YieldNum.
Referenced by emitSuspendExpression().
|
static |
Definition at line 81 of file CGCoroutine.cpp.
References clang::CodeGen::CodeGenFunction::CGM, clang::CodeGen::CodeGenFunction::CGCoroInfo::Data, and clang::CodeGen::CodeGenModule::Error().
Referenced by clang::CodeGen::CodeGenFunction::EmitCoroutineBody(), and clang::CodeGen::CodeGenFunction::EmitCoroutineIntrinsic().
|
static |
Definition at line 487 of file CGCoroutine.cpp.
References clang::CodeGen::CodeGenFunction::Builder, clang::CodeGen::CodeGenFunction::EmitStmt(), and clang::CoroutineBodyStmt::getFallthroughHandler().
Referenced by clang::CodeGen::CodeGenFunction::EmitCoroutineBody().
|
static |
Definition at line 157 of file CGCoroutine.cpp.
References clang::CodeGen::CodeGenFunction::OpaqueValueMappingData::bind(), clang::CodeGen::CodeGenFunction::Builder, buildSuspendPrefixStr(), clang::CodeGen::CodeGenFunction::CGM, clang::CodeGen::CGCoroData::CleanupJD, clang::CodeGen::CodeGenFunction::createBasicBlock(), E, clang::CodeGen::CodeGenFunction::EmitAnyExpr(), clang::CodeGen::CodeGenFunction::EmitBlock(), clang::CodeGen::CodeGenFunction::EmitBranchOnBoolExpr(), clang::CodeGen::CodeGenFunction::EmitBranchThroughCleanup(), clang::CodeGen::CodeGenFunction::EmitLValue(), clang::CodeGen::CodeGenFunction::EmitScalarExpr(), clang::CoroutineSuspendExpr::getCommonExpr(), clang::CodeGen::CodeGenModule::getIntrinsic(), clang::CoroutineSuspendExpr::getOpaqueValue(), clang::CoroutineSuspendExpr::getReadyExpr(), clang::CoroutineSuspendExpr::getResumeExpr(), clang::CoroutineSuspendExpr::getSuspendExpr(), clang::CodeGen::CodeGenTypeCache::Int8PtrTy, and clang::CodeGen::CGCoroData::SuspendBB.
Referenced by clang::CodeGen::CodeGenFunction::EmitCoawaitExpr(), clang::CodeGen::CodeGenFunction::EmitCoawaitLValue(), clang::CodeGen::CodeGenFunction::EmitCoyieldExpr(), and clang::CodeGen::CodeGenFunction::EmitCoyieldLValue().
|
static |
Definition at line 336 of file CGCoroutine.cpp.
References clang::CodeGen::CodeGenFunction::CurrentFuncletPad.
|
static |
Definition at line 243 of file CGCoroutine.cpp.
References clang::CoroutineSuspendExpr::getResumeExpr().
Referenced by clang::CodeGen::CodeGenFunction::EmitCoawaitLValue(), and clang::CodeGen::CodeGenFunction::EmitCoyieldLValue().
1.8.6