clang 18.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 | |
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 () const |
Static Public Member Functions | |
static RValue | getIgnored () |
static RValue | get (llvm::Value *V) |
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) |
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 89 of file CGValue.h.
References V.
Referenced by AddDirectArgument(), 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(), 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(), getIgnored(), and PerformReturnAdjustment().
|
inlinestatic |
Definition at line 110 of file CGValue.h.
References clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getElementType(), clang::CodeGen::Address::getPointer(), and clang::CharUnits::getQuantity().
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 73 of file CGValue.h.
References clang::CharUnits::fromQuantity(), and isAggregate().
Referenced by clang::CodeGen::CallArg::copyInto(), and clang::CodeGen::CGObjCRuntime::destroyCalleeDestroyedArguments().
|
inline |
Definition at line 79 of file CGValue.h.
References isAggregate().
|
inlinestatic |
Definition at line 104 of file CGValue.h.
References clang::C, and getComplex().
|
inlinestatic |
Definition at line 96 of file CGValue.h.
Referenced by convertToType(), emitInitWithReductionInitializer(), and getComplex().
|
inline |
getComplexVal - Return the real/imag components of this complex value.
Definition at line 68 of file CGValue.h.
Referenced by convertToComplexValue(), convertToScalarValue(), clang::CodeGen::CallArg::copyInto(), and EmitAtomicUpdateValue().
|
inlinestatic |
Definition at line 84 of file CGValue.h.
References get().
Referenced by clang::CodeGen::AggValueSlot::asRValue().
|
inline |
getScalarVal() - Return the Value* of this scalar value.
Definition at line 61 of file CGValue.h.
References isScalar().
Referenced by convertToComplexValue(), convertToScalarValue(), clang::CodeGen::CallArg::copyInto(), clang::CodeGen::CGObjCRuntime::destroyCalleeDestroyedArguments(), emitSimdlenSafelenClause(), emitWritebackArg(), PerformReturnAdjustment(), and tryEmitARCRetainLoadOfScalar().
|
inline |
Definition at line 56 of file CGValue.h.
Referenced by convertToScalarValue(), getAggregateAddress(), getAggregatePointer(), and clang::CodeGen::CallArg::isAggregate().
|
inline |
Definition at line 55 of file CGValue.h.
Referenced by convertToComplexValue(), clang::CodeGen::CallArg::copyInto(), and EmitAtomicUpdateValue().
|
inline |
Definition at line 54 of file CGValue.h.
Referenced by convertToComplexValue(), convertToScalarValue(), clang::CodeGen::CallArg::copyInto(), clang::CodeGen::CGObjCRuntime::destroyCalleeDestroyedArguments(), EmitAtomicUpdateValue(), emitWritebackArg(), and getScalarVal().
|
inline |
Definition at line 58 of file CGValue.h.
Referenced by clang::CodeGen::CallArg::copyInto().