clang 22.0.0git
|
This trivial value class is used to represent the result of an expression that is evaluated. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CIR/CodeGen/CIRGenValue.h"
Public Member Functions | |
RValue () | |
bool | isScalar () const |
bool | isComplex () const |
bool | isAggregate () const |
bool | isVolatileQualified () const |
mlir::Value | getValue () const |
Return the value of this scalar value. | |
mlir::Value | getComplexValue () const |
Return the value of this complex value. | |
Address | getAggregateAddress () const |
Return the value of the address of the aggregate. | |
mlir::Value | getAggregatePointer (QualType pointeeType) const |
Static Public Member Functions | |
static RValue | getIgnored () |
static RValue | get (mlir::Value v) |
static RValue | getComplex (mlir::Value v) |
static RValue | getAggregate (Address addr, bool isVolatile=false) |
Convert an Address to an RValue. |
This trivial value class is used to represent the result of an expression that is evaluated.
It can be one of three things: either a simple MLIR SSA value, a pair of SSA values for complex numbers, or the address of an aggregate value in memory.
Definition at line 33 of file CIRGenValue.h.
|
inline |
Definition at line 47 of file CIRGenValue.h.
References clang::nullptr, and value.
Referenced by get(), getAggregate(), getComplex(), and getIgnored().
|
inlinestatic |
Definition at line 82 of file CIRGenValue.h.
References RValue(), and value.
Referenced by clang::CIRGen::CIRGenCXXABI::addImplicitConstructorArgs(), commonBuildCXXMemberOrOperatorCall(), clang::CIRGen::CIRGenFunction::convertTempToRValue(), clang::CIRGen::CIRGenFunction::emitAnyExpr(), clang::CIRGen::CIRGenFunction::emitAnyExprToMem(), clang::CIRGen::CIRGenFunction::emitAtomicExpr(), clang::CIRGen::CIRGenFunction::emitAtomicInit(), clang::CIRGen::CIRGenFunction::emitAutoVarInit(), emitBuiltinBitOp(), clang::CIRGen::CIRGenFunction::emitBuiltinExpr(), clang::CIRGen::CIRGenFunction::emitCall(), clang::CIRGen::CIRGenFunction::emitCallExpr(), clang::CIRGen::CIRGenFunction::emitCXXConstructorCall(), clang::CIRGen::CIRGenFunction::emitCXXMemberCallExpr(), clang::CIRGen::CIRGenFunction::emitCXXMemberOrOperatorMemberCallExpr(), clang::CIRGen::CIRGenFunction::emitCXXNewExpr(), clang::CIRGen::CIRGenFunction::emitCXXPseudoDestructorExpr(), clang::CIRGen::CIRGenFunction::emitDelegateCallArg(), clang::CIRGen::CIRGenFunction::emitDelegateCXXConstructorCall(), clang::CIRGen::CIRGenFunction::emitInitializerForField(), clang::CIRGen::CIRGenFunction::emitLambdaDelegatingInvokeBody(), clang::CIRGen::CIRGenFunction::emitLoadOfBitfieldLValue(), clang::CIRGen::CIRGenFunction::emitLoadOfLValue(), clang::CIRGen::CIRGenFunction::emitReferenceBindingToExpr(), clang::CIRGen::CIRGenFunction::emitRotate(), clang::CIRGen::CIRGenFunction::emitScalarInit(), emitUnaryFPBuiltin(), emitUnaryMaybeConstrainedFPBuiltin(), getIgnored(), and clang::CIRGen::CIRGenFunction::getUndefRValue().
Convert an Address to an RValue.
If the Address is not signed, create an RValue using the unsigned address. Otherwise, resign the address using the provided type.
Definition at line 104 of file CIRGenValue.h.
References aggregateAddr, and RValue().
Referenced by clang::CIRGen::AggValueSlot::asRValue(), and clang::CIRGen::CIRGenFunction::emitCall().
|
inline |
Return the value of the address of the aggregate.
Definition at line 68 of file CIRGenValue.h.
References aggregateAddr, and isAggregate().
Referenced by clang::CIRGen::CIRGenFunction::emitReturnOfRValue(), and getAggregatePointer().
|
inline |
Definition at line 73 of file CIRGenValue.h.
References getAggregateAddress(), and clang::CIRGen::Address::getPointer().
|
inlinestatic |
Definition at line 90 of file CIRGenValue.h.
References RValue(), and value.
Referenced by clang::CIRGen::CIRGenFunction::emitAnyExpr(), and clang::CIRGen::CIRGenFunction::emitBuiltinExpr().
|
inline |
Return the value of this complex value.
Definition at line 62 of file CIRGenValue.h.
References isComplex(), and value.
|
inlinestatic |
Definition at line 77 of file CIRGenValue.h.
References get(), and RValue().
Referenced by clang::CIRGen::AggValueSlot::asRValue().
|
inline |
Return the value of this scalar value.
Definition at line 56 of file CIRGenValue.h.
References isScalar(), and value.
Referenced by clang::CIRGen::CIRGenFunction::emitCallExprLValue(), clang::CIRGen::CIRGenFunction::emitCXXNewExpr(), clang::CIRGen::CIRGenFunction::emitReturnOfRValue(), clang::CIRGen::CIRGenFunction::emitReturnStmt(), clang::CIRGen::CIRGenFunction::emitScalarCompoundAssignWithComplex(), clang::CIRGen::CIRGenFunction::emitStoreThroughBitfieldLValue(), clang::CIRGen::CIRGenFunction::emitStoreThroughLValue(), and clang::CIRGen::CIRGenFunction::startFunction().
|
inline |
Definition at line 51 of file CIRGenValue.h.
Referenced by clang::CIRGen::CIRGenFunction::emitReturnOfRValue(), and getAggregateAddress().
|
inline |
Definition at line 50 of file CIRGenValue.h.
Referenced by getComplexValue().
|
inline |
Definition at line 49 of file CIRGenValue.h.
Referenced by clang::CIRGen::CIRGenFunction::emitCallExprLValue(), clang::CIRGen::CIRGenFunction::emitReturnOfRValue(), clang::CIRGen::CIRGenFunction::emitStoreThroughLValue(), and getValue().
|
inline |
Definition at line 53 of file CIRGenValue.h.
Address clang::CIRGen::RValue::aggregateAddr |
Definition at line 40 of file CIRGenValue.h.
Referenced by getAggregate(), and getAggregateAddress().
mlir::Value clang::CIRGen::RValue::value |
Definition at line 37 of file CIRGenValue.h.
Referenced by get(), getComplex(), getComplexValue(), getValue(), and RValue().