clang 22.0.0git
CIRGenCoroutine.cpp File Reference
#include "CIRGenFunction.h"
#include "mlir/Support/LLVM.h"
#include "clang/AST/StmtCXX.h"
#include "clang/AST/StmtVisitor.h"
#include "clang/Basic/TargetInfo.h"
#include "clang/CIR/Dialect/IR/CIRTypes.h"
#include "clang/CIR/MissingFeatures.h"

Go to the source code of this file.

Classes

struct  clang::CIRGen::CGCoroData

Functions

static void createCoroData (CIRGenFunction &cgf, CIRGenFunction::CGCoroInfo &curCoro, cir::CallOp coroId)
static LValueOrRValue emitSuspendExpression (CIRGenFunction &cgf, CGCoroData &coro, CoroutineSuspendExpr const &s, cir::AwaitKind kind, AggValueSlot aggSlot, bool ignoreResult, mlir::Block *scopeParentBlock, mlir::Value &tmpResumeRValAddr, bool forLValue)
static RValue emitSuspendExpr (CIRGenFunction &cgf, const CoroutineSuspendExpr &e, cir::AwaitKind kind, AggValueSlot aggSlot, bool ignoreResult)

Function Documentation

◆ createCoroData()

◆ emitSuspendExpr()

◆ emitSuspendExpression()

LValueOrRValue emitSuspendExpression ( CIRGenFunction & cgf,
CGCoroData & coro,
CoroutineSuspendExpr const & s,
cir::AwaitKind kind,
AggValueSlot aggSlot,
bool ignoreResult,
mlir::Block * scopeParentBlock,
mlir::Value & tmpResumeRValAddr,
bool forLValue )
static