clang
10.0.0git
|
RValue - This trivial value class is used to represent the result of an expression that is evaluated. More...
#include "/work/www-prereleases/10.0.0/rc2/docsbuild/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. More... | |
std::pair< llvm::Value *, llvm::Value * > | getComplexVal () const |
getComplexVal - Return the real/imag components of this complex value. More... | |
Address | getAggregateAddress () const |
getAggregateAddr() - Return the Value* of the address of the aggregate. More... | |
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 86 of file CGValue.h.
References V.
Referenced by AddDirectArgument(), AdjustObjCObjectType(), commonEmitCXXMemberOrOperatorCall(), clang::CodeGen::CodeGenFunction::convertTempToRValue(), convertToType(), decomposeTypeForEH(), clang::CodeGen::ReductionCodeGen::emitAggregateType(), clang::CodeGen::CodeGenFunction::EmitAnyExpr(), clang::CodeGen::CodeGenFunction::EmitAnyExprToMem(), clang::CodeGen::CodeGenFunction::EmitAtomicExpr(), clang::CodeGen::CodeGenFunction::EmitAtomicInit(), clang::CodeGen::CodeGenFunction::EmitAtomicLoad(), clang::CodeGen::CodeGenFunction::EmitAtomicStore(), clang::CodeGen::CodeGenFunction::EmitAutoVarInit(), EmitBinaryAtomic(), EmitBinaryAtomicPost(), clang::CodeGen::CodeGenFunction::EmitBuiltinExpr(), clang::CodeGen::CodeGenFunction::emitBuiltinOSLogFormat(), clang::CodeGen::CodeGenFunction::EmitCall(), clang::CodeGen::CodeGenFunction::EmitCallAndReturnForThunk(), EmitCheckedMixedSignMultiply(), clang::CodeGen::CodeGenFunction::EmitCoroutineIntrinsic(), emitCPPObjectAtomicGetterCall(), emitCPPObjectAtomicSetterCall(), clang::CodeGen::CGCUDARuntime::EmitCUDAKernelCallExpr(), clang::CodeGen::CodeGenFunction::EmitCXXConstructorCall(), clang::CodeGen::CodeGenFunction::EmitCXXMemberPointerCallExpr(), clang::CodeGen::CodeGenFunction::EmitCXXNewExpr(), clang::CodeGen::CodeGenFunction::EmitDelegateCallArg(), clang::CodeGen::CodeGenFunction::EmitDelegateCXXConstructorCall(), clang::CodeGen::CodeGenFunction::EmitForwardingCallToLambda(), clang::CodeGen::CodeGenFunction::EmitInheritedCXXConstructorCall(), clang::CodeGen::CodeGenFunction::EmitInitializerForField(), emitInitWithReductionInitializer(), clang::CodeGen::CodeGenFunction::EmitLambdaBlockInvokeBody(), clang::CodeGen::CodeGenFunction::EmitLambdaDelegatingInvokeBody(), clang::CodeGen::CodeGenFunction::EmitLoadOfBitfieldLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfExtVectorElementLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), clang::CodeGen::CodeGenFunction::EmitNVPTXDevicePrintfCallExpr(), clang::CodeGen::CodeGenFunction::EmitObjCBoxedExpr(), clang::CodeGen::CodeGenFunction::EmitObjCMessageExpr(), clang::CodeGen::CodeGenFunction::emitOMPSimpleStore(), emitProxyTaskFunction(), emitReductionCombiner(), clang::CodeGen::CodeGenFunction::EmitReferenceBindingToExpr(), clang::CodeGen::CodeGenFunction::EmitRValueForField(), clang::CodeGen::CodeGenFunction::EmitScalarInit(), clang::CodeGen::CodeGenFunction::EmitStoreOfScalar(), clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), emitStructSetterCall(), clang::CodeGen::CodeGenFunction::EmitSynthesizedCXXCopyCtorCall(), emitWriteback(), emitWritebackArg(), EnterNewDeleteCleanup(), forConstantArrayExpansion(), clang::CodeGen::CodeGenFunction::generateObjCGetterBody(), clang::CodeGen::CodeGenFunction::generateObjCSetterBody(), clang::CodeGen::CodeGenFunction::GenerateOpenMPCapturedVars(), clang::CodeGen::CGObjCRuntime::GeneratePossiblySpecializedMessageSend(), GetIntrinsic(), clang::CodeGen::CodeGenFunction::GetUndefRValue(), getUsualDeleteParams(), hasDefaultCXXMethodCC(), isSimpleZero(), isWeakLinkedClass(), PerformReturnAdjustment(), performTypeAdjustment(), and shouldEmitSeparateBlockRetain().
|
inlinestatic |
Definition at line 107 of file CGValue.h.
References clang::interp::align(), clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getPointer(), and clang::CharUnits::getQuantity().
Referenced by clang::CodeGen::CodeGenFunction::EmitAtomicLoad(), findPeephole(), forConstantArrayExpansion(), clang::CodeGen::CallArg::getRValue(), and clang::CodeGen::CodeGenFunction::GetUndefRValue().
|
inline |
getAggregateAddr() - Return the Value* of the address of the aggregate.
Definition at line 71 of file CGValue.h.
References clang::interp::align().
Referenced by clang::CodeGen::CodeGenFunction::EmitAtomicCompareExchange(), clang::CodeGen::CodeGenFunction::EmitAtomicLoad(), clang::CodeGen::CodeGenFunction::EmitAtomicStore(), clang::CodeGen::CodeGenFunction::EmitCallExprLValue(), clang::CodeGen::CodeGenFunction::EmitInlinedInheritingCXXConstructorCall(), clang::CodeGen::CodeGenFunction::EmitObjCMessageExprLValue(), clang::CodeGen::CodeGenFunction::EmitStmtExprLValue(), and forConstantArrayExpansion().
|
inline |
|
inlinestatic |
Definition at line 93 of file CGValue.h.
References Complex.
Referenced by clang::CodeGen::CodeGenFunction::convertTempToRValue(), convertToType(), clang::CodeGen::CodeGenFunction::EmitAnyExpr(), clang::CodeGen::CodeGenFunction::EmitAtomicInit(), clang::CodeGen::CodeGenFunction::EmitRValueForField(), and clang::CodeGen::CodeGenFunction::GetUndefRValue().
|
inlinestatic |
|
inline |
getComplexVal - Return the real/imag components of this complex value.
Definition at line 66 of file CGValue.h.
Referenced by convertToComplexValue(), convertToScalarValue(), clang::CodeGen::CodeGenFunction::EmitAtomicLoad(), EmitAtomicUpdateValue(), and forConstantArrayExpansion().
|
inlinestatic |
|
inline |
getScalarVal() - Return the Value* of this scalar value.
Definition at line 59 of file CGValue.h.
Referenced by AddVariableConstraints(), AdjustObjCObjectType(), convertToComplexValue(), convertToScalarValue(), clang::CodeGen::CodeGenFunction::EmitAtomicLoad(), clang::CodeGen::CodeGenFunction::EmitBinaryOperatorLValue(), clang::CodeGen::CodeGenFunction::EmitBlockCopyAndAutorelease(), clang::CodeGen::CodeGenFunction::EmitCallExprLValue(), clang::CodeGen::CodeGenFunction::EmitCXXGlobalVarDeclInit(), clang::CodeGen::CodeGenFunction::EmitForwardingCallToLambda(), clang::CodeGen::CodeGenFunction::EmitInlinedInheritingCXXConstructorCall(), clang::CodeGen::CodeGenFunction::EmitLoadOfScalar(), clang::CodeGen::CodeGenFunction::EmitNonNullArgCheck(), clang::CodeGen::CodeGenFunction::EmitObjCBoxedExpr(), clang::CodeGen::CodeGenFunction::EmitObjCMessageExpr(), clang::CodeGen::CodeGenFunction::EmitObjCMessageExprLValue(), clang::CodeGen::CodeGenFunction::EmitObjCMRRAutoreleasePoolPush(), emitSimdlenSafelenClause(), clang::CodeGen::CodeGenFunction::EmitStoreThroughBitfieldLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughExtVectorComponentLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), emitWritebackArg(), clang::CodeGen::CodeGenFunction::GenerateObjCAtomicGetterCopyHelperFunction(), clang::CodeGen::CodeGenFunction::generateObjCGetterBody(), PerformReturnAdjustment(), clang::CodeGen::CodeGenFunction::protectFromPeepholes(), clang::CodeGen::CodeGenFunction::StartFunction(), and tryEmitARCRetainLoadOfScalar().
|
inline |
Definition at line 54 of file CGValue.h.
Referenced by convertToScalarValue(), clang::CodeGen::CodeGenFunction::EmitAtomicCompareExchange(), clang::CodeGen::CodeGenFunction::EmitAtomicLoad(), and clang::CodeGen::CodeGenFunction::EmitAtomicStore().
|
inline |
Definition at line 53 of file CGValue.h.
References Complex.
Referenced by convertToComplexValue(), EmitAtomicUpdateValue(), and clang::CodeGen::CodeGenFunction::EmitInlinedInheritingCXXConstructorCall().
|
inline |
Definition at line 52 of file CGValue.h.
Referenced by convertToComplexValue(), convertToScalarValue(), clang::CodeGen::CodeGenFunction::EmitAtomicLoad(), EmitAtomicUpdateValue(), clang::CodeGen::CodeGenFunction::EmitBinaryOperatorLValue(), clang::CodeGen::CodeGenFunction::EmitCallExprLValue(), clang::CodeGen::CodeGenFunction::EmitInlinedInheritingCXXConstructorCall(), clang::CodeGen::CodeGenFunction::EmitNonNullArgCheck(), clang::CodeGen::CodeGenFunction::EmitObjCMessageExprLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), emitWritebackArg(), and clang::CodeGen::CodeGenFunction::protectFromPeepholes().
|
inline |
Definition at line 56 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitAtomicLoad().