clang 22.0.0git
|
An aggregate value slot. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CIR/CodeGen/CIRGenValue.h"
Public Types | |
enum | IsDestructed_t { IsNotDestructed , IsDestructed } |
enum | IsZeroed_t { IsNotZeroed , IsZeroed } |
enum | IsAliased_t { IsNotAliased , IsAliased } |
enum | Overlap_t { MayOverlap , DoesNotOverlap } |
Public Member Functions | |
AggValueSlot (Address addr, clang::Qualifiers quals, bool destructedFlag, bool zeroedFlag, bool aliasedFlag, bool overlapFlag) | |
clang::Qualifiers | getQualifiers () const |
Address | getAddress () const |
bool | isIgnored () const |
mlir::Value | getPointer () const |
IsZeroed_t | isZeroed () const |
RValue | asRValue () const |
Static Public Member Functions | |
static AggValueSlot | ignored () |
Returns an aggregate value slot indicating that the aggregate value is being ignored. | |
static AggValueSlot | forAddr (Address addr, clang::Qualifiers quals, IsDestructed_t isDestructed, IsAliased_t isAliased, Overlap_t mayOverlap, IsZeroed_t isZeroed=IsNotZeroed) |
static AggValueSlot | forLValue (const LValue &LV, IsDestructed_t isDestructed, IsAliased_t isAliased, Overlap_t mayOverlap, IsZeroed_t isZeroed=IsNotZeroed) |
An aggregate value slot.
Definition at line 302 of file CIRGenValue.h.
Enumerator | |
---|---|
IsNotAliased | |
IsAliased |
Definition at line 343 of file CIRGenValue.h.
Enumerator | |
---|---|
IsNotDestructed | |
IsDestructed |
Definition at line 341 of file CIRGenValue.h.
Enumerator | |
---|---|
IsNotZeroed | |
IsZeroed |
Definition at line 342 of file CIRGenValue.h.
Enumerator | |
---|---|
MayOverlap | |
DoesNotOverlap |
Definition at line 344 of file CIRGenValue.h.
|
inline |
Definition at line 353 of file CIRGenValue.h.
|
inline |
Definition at line 384 of file CIRGenValue.h.
References cir::MissingFeatures::aggValueSlot(), getAddress(), clang::CIRGen::RValue::getAggregate(), clang::CIRGen::RValue::getIgnored(), and isIgnored().
Referenced by clang::CIRGen::CIRGenFunction::emitAnyExpr().
|
inlinestatic |
Definition at line 359 of file CIRGenValue.h.
References isZeroed().
Referenced by clang::CIRGen::CIRGenFunction::createAggTemp(), clang::CIRGen::CIRGenFunction::emitAnyExprToMem(), clang::CIRGen::CIRGenFunction::emitBaseInitializer(), clang::CIRGen::CIRGenFunction::emitCXXAggrConstructorCall(), clang::CIRGen::CIRGenFunction::emitDelegatingCXXConstructorCall(), forLValue(), ignored(), and storeAnyExprIntoOneUnit().
|
inlinestatic |
Definition at line 367 of file CIRGenValue.h.
References forAddr(), clang::CIRGen::LValue::getAddress(), clang::CIRGen::LValue::getQuals(), and isZeroed().
Referenced by clang::CIRGen::CIRGenFunction::emitAggExprToLValue(), and clang::CIRGen::CIRGenFunction::emitExprAsInit().
|
inline |
Definition at line 376 of file CIRGenValue.h.
Referenced by asRValue(), clang::CIRGen::CIRGenFunction::emitCXXConstructExpr(), and clang::CIRGen::CIRGenFunction::emitCXXConstructorCall().
|
inline |
Definition at line 380 of file CIRGenValue.h.
References clang::CIRGen::Address::getPointer().
|
inline |
Definition at line 374 of file CIRGenValue.h.
|
inlinestatic |
Returns an aggregate value slot indicating that the aggregate value is being ignored.
Definition at line 348 of file CIRGenValue.h.
References DoesNotOverlap, forAddr(), clang::CIRGen::Address::invalid(), IsNotAliased, and IsNotDestructed.
Referenced by clang::CIRGen::CIRGenFunction::emitAnyExprToTemp().
|
inline |
Definition at line 378 of file CIRGenValue.h.
References clang::CIRGen::Address::isValid().
Referenced by asRValue(), clang::CIRGen::CIRGenFunction::emitAnyExpr(), and clang::CIRGen::CIRGenFunction::emitCXXConstructExpr().
|
inline |
Definition at line 382 of file CIRGenValue.h.
Referenced by clang::CIRGen::CIRGenFunction::emitCXXConstructExpr(), forAddr(), and forLValue().