clang 19.0.0git
|
RValue - 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/CodeGen/CGValue.h"
Public Member Functions | |
RValue () | |
bool | isScalar () const |
bool | isComplex () const |
bool | isAggregate () const |
bool | isVolatileQualified () const |
llvm::Value * | getScalarVal () const |
getScalarVal() - Return the Value* of this scalar value. | |
std::pair< llvm::Value *, llvm::Value * > | getComplexVal () const |
getComplexVal - Return the real/imag components of this complex value. | |
Address | getAggregateAddress () const |
getAggregateAddr() - Return the Value* of the address of the aggregate. | |
llvm::Value * | getAggregatePointer (QualType PointeeType, CodeGenFunction &CGF) const |
Static Public Member Functions | |
static RValue | getIgnored () |
static RValue | get (llvm::Value *V) |
static RValue | get (Address Addr, CodeGenFunction &CGF) |
static RValue | getComplex (llvm::Value *V1, llvm::Value *V2) |
static RValue | getComplex (const std::pair< llvm::Value *, llvm::Value * > &C) |
static RValue | getAggregate (Address addr, bool isVolatile=false) |
Convert an Address to an RValue. | |
Friends | |
struct | DominatingValue< RValue > |
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 LLVM SSA value, a pair of SSA values for complex numbers, or the address of an aggregate value in memory.
|
inlinestatic |
Definition at line 104 of file CGValue.h.
References clang::CodeGen::Address::emitRawPointer(), and get().
|
inlinestatic |
Definition at line 97 of file CGValue.h.
References first, V, and Vals.
Referenced by clang::CodeGen::CGCXXABI::addImplicitConstructorArgs(), AdjustObjCObjectType(), clang::CodeGen::CGOpenMPRuntime::checkAndEmitLastprivateConditional(), commonEmitCXXMemberOrOperatorCall(), convertToType(), createSectionLVal(), clang::CodeGen::ReductionCodeGen::emitAggregateType(), EmitAsmStores(), EmitBinaryAtomic(), EmitBinaryAtomicPost(), EmitCheckedMixedSignMultiply(), EmitCheckedUnsignedMultiplySignedResult(), emitCPPObjectAtomicGetterCall(), emitCPPObjectAtomicSetterCall(), clang::CodeGen::CGCUDARuntime::EmitCUDAKernelCallExpr(), clang::CodeGen::CGOpenMPRuntime::emitDependClause(), EmitHipStdParUnsupportedBuiltin(), emitInitWithReductionInitializer(), clang::CodeGen::CodeGenFunction::EmitLambdaVLACapture(), EmitLoadOfMatrixLValue(), EmitMSVCRTSetJmp(), emitOMPAtomicRMW(), emitProxyTaskFunction(), emitReductionCombiner(), clang::CodeGen::CGOpenMPRuntime::emitReductionFunction(), emitScanBasedDirective(), emitScanBasedDirectiveDecls(), emitScanBasedDirectiveFinals(), emitStructGetterCall(), emitStructSetterCall(), clang::CodeGen::CGOpenMPRuntime::emitTaskInit(), emitWriteback(), emitWritebackArg(), EnterNewDeleteCleanup(), clang::CodeGen::CGObjCRuntime::GeneratePossiblySpecializedMessageSend(), get(), getIgnored(), and PerformReturnAdjustment().
|
inlinestatic |
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 124 of file CGValue.h.
References AggregateAddr.
Referenced by clang::CodeGen::LValue::asAggregateRValue(), clang::CodeGen::AggValueSlot::asRValue(), and clang::CodeGen::CallArg::getRValue().
|
inline |
getAggregateAddr() - Return the Value* of the address of the aggregate.
Definition at line 82 of file CGValue.h.
References AggregateAddr, and isAggregate().
Referenced by clang::CodeGen::CallArg::copyInto(), clang::CodeGen::CGObjCRuntime::destroyCalleeDestroyedArguments(), and getAggregatePointer().
|
inline |
Definition at line 87 of file CGValue.h.
References getAggregateAddress(), and clang::CodeGen::Address::getBasePointer().
|
inlinestatic |
Definition at line 114 of file CGValue.h.
References clang::C, and getComplex().
|
inlinestatic |
Definition at line 107 of file CGValue.h.
References Vals.
Referenced by convertToType(), emitInitWithReductionInitializer(), and getComplex().
|
inline |
getComplexVal - Return the real/imag components of this complex value.
Definition at line 77 of file CGValue.h.
References Vals.
Referenced by convertToComplexValue(), convertToScalarValue(), clang::CodeGen::CallArg::copyInto(), and EmitAtomicUpdateValue().
|
inlinestatic |
Definition at line 92 of file CGValue.h.
References get().
Referenced by clang::CodeGen::AggValueSlot::asRValue(), and emitSuspendExpression().
|
inline |
getScalarVal() - Return the Value* of this scalar value.
Definition at line 70 of file CGValue.h.
References isScalar(), and Vals.
Referenced by convertToComplexValue(), convertToScalarValue(), clang::CodeGen::CallArg::copyInto(), clang::CodeGen::CGObjCRuntime::destroyCalleeDestroyedArguments(), emitSimdlenSafelenClause(), emitWritebackArg(), PerformReturnAdjustment(), and tryEmitARCRetainLoadOfScalar().
|
inline |
Definition at line 65 of file CGValue.h.
Referenced by convertToScalarValue(), getAggregateAddress(), and clang::CodeGen::CallArg::isAggregate().
|
inline |
Definition at line 64 of file CGValue.h.
Referenced by convertToComplexValue(), clang::CodeGen::CallArg::copyInto(), and EmitAtomicUpdateValue().
|
inline |
Definition at line 63 of file CGValue.h.
Referenced by convertToComplexValue(), convertToScalarValue(), clang::CodeGen::CallArg::copyInto(), clang::CodeGen::CGObjCRuntime::destroyCalleeDestroyedArguments(), EmitAtomicUpdateValue(), emitWritebackArg(), and getScalarVal().
|
inline |
Definition at line 67 of file CGValue.h.
Referenced by clang::CodeGen::CallArg::copyInto().
|
friend |
Address clang::CodeGen::RValue::AggregateAddr |
Definition at line 54 of file CGValue.h.
Referenced by getAggregate(), and getAggregateAddress().
llvm::Value* clang::CodeGen::RValue::first |
llvm::Value* clang::CodeGen::RValue::second |
Definition at line 50 of file CGValue.h.
Referenced by emitOMPAtomicCaptureExpr().
struct { ... } clang::CodeGen::RValue::Vals |
Referenced by get(), getComplex(), getComplexVal(), and getScalarVal().