clang 22.0.0git
|
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CIR/CodeGen/CIRGenFunction.h"
Classes | |
struct | Invalid |
Public Member Functions | |
AutoVarEmission (Invalid) | |
AutoVarEmission (const clang::VarDecl &variable) | |
bool | wasEmittedAsGlobal () const |
bool | wasEmittedAsOffloadClause () const |
Address | getAllocatedAddress () const |
Returns the raw, allocated address, which is not necessarily the address of the object itself. | |
void | setAllocatedAddress (Address A) |
Address | getObjectAddress (CIRGenFunction &cgf) const |
Returns the address of the object within this declaration. | |
Static Public Member Functions | |
static AutoVarEmission | invalid () |
Public Attributes | |
const clang::VarDecl * | Variable |
Address | Addr |
The address of the alloca for languages with explicit address space (e.g. | |
bool | IsConstantAggregate = false |
True if the variable is of aggregate type and has a constant initializer. | |
bool | IsEscapingByRef = false |
True if the variable is a __block variable that is captured by an escaping block. | |
bool | EmittedAsOffload = false |
True if the variable was emitted as an offload recipe, and thus doesn't have the same sort of alloca initialization. | |
mlir::Value | NRVOFlag {} |
Definition at line 458 of file CIRGenFunction.h.
|
inline |
Definition at line 481 of file CIRGenFunction.h.
|
inline |
Definition at line 483 of file CIRGenFunction.h.
|
inline |
Returns the raw, allocated address, which is not necessarily the address of the object itself.
It is casted to default address space for address space agnostic languages.
Definition at line 495 of file CIRGenFunction.h.
References Addr.
|
inline |
Returns the address of the object within this declaration.
Note that this does not chase the forwarding pointer for __block decls.
Definition at line 505 of file CIRGenFunction.h.
References Addr, clang::CIRGen::Address::invalid(), IsEscapingByRef, and cir::MissingFeatures::opAllocaEscapeByReference().
Referenced by clang::CIRGen::CIRGenFunction::emitAutoVarTypeCleanup().
|
inlinestatic |
Definition at line 486 of file CIRGenFunction.h.
|
inline |
Definition at line 500 of file CIRGenFunction.h.
References Addr.
|
inline |
Definition at line 488 of file CIRGenFunction.h.
References Addr, and clang::CIRGen::Address::isValid().
Referenced by clang::CIRGen::CIRGenFunction::emitAutoVarInit().
|
inline |
Definition at line 490 of file CIRGenFunction.h.
References EmittedAsOffload.
Referenced by clang::CIRGen::CIRGenFunction::emitAutoVarInit().
Address clang::CIRGen::CIRGenFunction::AutoVarEmission::Addr |
The address of the alloca for languages with explicit address space (e.g.
OpenCL) or alloca casted to generic pointer for address space agnostic languages (e.g. C++). Invalid if the variable was emitted as a global constant.
Definition at line 464 of file CIRGenFunction.h.
Referenced by clang::CIRGen::CIRGenFunction::emitAutoVarAlloca(), clang::CIRGen::CIRGenFunction::emitAutoVarInit(), getAllocatedAddress(), getObjectAddress(), setAllocatedAddress(), and wasEmittedAsGlobal().
True if the variable was emitted as an offload recipe, and thus doesn't have the same sort of alloca initialization.
Definition at line 476 of file CIRGenFunction.h.
Referenced by wasEmittedAsOffloadClause().
True if the variable is of aggregate type and has a constant initializer.
Definition at line 468 of file CIRGenFunction.h.
Referenced by clang::CIRGen::CIRGenFunction::emitAutoVarInit().
True if the variable is a __block variable that is captured by an escaping block.
Definition at line 472 of file CIRGenFunction.h.
Referenced by clang::CIRGen::CIRGenFunction::emitAutoVarAlloca(), and getObjectAddress().
mlir::Value clang::CIRGen::CIRGenFunction::AutoVarEmission::NRVOFlag {} |
Definition at line 478 of file CIRGenFunction.h.
Referenced by clang::CIRGen::CIRGenFunction::emitAutoVarTypeCleanup().
const clang::VarDecl* clang::CIRGen::CIRGenFunction::AutoVarEmission::Variable |
Definition at line 459 of file CIRGenFunction.h.
Referenced by clang::CIRGen::CIRGenFunction::emitAutoVarCleanups(), clang::CIRGen::CIRGenFunction::emitAutoVarInit(), and clang::CIRGen::CIRGenFunction::emitAutoVarTypeCleanup().