clang
9.0.0
|
LValue - This represents an lvalue references. More...
#include "/work/llvm-www-releases/9.0.0/docsbuild/llvm.src/tools/clang/lib/CodeGen/CGValue.h"
Static Public Member Functions | |
static LValue | MakeAddr (Address address, QualType type, ASTContext &Context, LValueBaseInfo BaseInfo, TBAAAccessInfo TBAAInfo) |
static LValue | MakeVectorElt (Address vecAddress, llvm::Value *Idx, QualType type, LValueBaseInfo BaseInfo, TBAAAccessInfo TBAAInfo) |
static LValue | MakeExtVectorElt (Address vecAddress, llvm::Constant *Elts, QualType type, LValueBaseInfo BaseInfo, TBAAAccessInfo TBAAInfo) |
static LValue | MakeBitfield (Address Addr, const CGBitFieldInfo &Info, QualType type, LValueBaseInfo BaseInfo, TBAAAccessInfo TBAAInfo) |
Create a new object to represent a bit-field access. More... | |
static LValue | MakeGlobalReg (Address Reg, QualType type) |
LValue - This represents an lvalue references.
Because C/C++ allow bitfields, this is not a simple LLVM pointer, it may be a pointer plus a bitrange.
|
inline |
Definition at line 430 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::convertTempToRValue(), and clang::CodeGen::CodeGenFunction::EmitRValueForField().
|
inline |
Definition at line 326 of file CGValue.h.
Referenced by AddVariableConstraints(), clang::CodeGen::ReductionCodeGen::adjustPrivateAddress(), clang::CodeGen::CodeGenFunction::callCStructCopyAssignmentOperator(), clang::CodeGen::CodeGenFunction::callCStructCopyConstructor(), clang::CodeGen::CodeGenFunction::callCStructDefaultConstructor(), clang::CodeGen::CodeGenFunction::callCStructDestructor(), clang::CodeGen::CodeGenFunction::callCStructMoveAssignmentOperator(), clang::CodeGen::CodeGenFunction::callCStructMoveConstructor(), clang::CodeGen::CallArg::copyInto(), drillIntoBlockVariable(), clang::CodeGen::CodeGenFunction::EmitAggregateCopy(), clang::CodeGen::CodeGenFunction::EmitARCStoreStrong(), clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), clang::CodeGen::CodeGenFunction::EmitAtomicCompareExchange(), clang::CodeGen::CodeGenFunction::EmitAtomicLoad(), clang::CodeGen::CodeGenFunction::EmitAtomicStore(), clang::CodeGen::CodeGenFunction::EmitCastLValue(), clang::CodeGen::CodeGenFunction::EmitConstructorBody(), clang::CodeGen::CodeGenFunction::EmitCXXPseudoDestructorExpr(), emitDestructorsFunction(), clang::CodeGen::CodeGenFunction::emitImplicitAssignmentOperatorBody(), clang::CodeGen::ReductionCodeGen::emitInitialization(), clang::CodeGen::CodeGenFunction::EmitInitializerForField(), clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfReference(), clang::CodeGen::CodeGenFunction::EmitLoadOfScalar(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), clang::CodeGen::CodeGenFunction::EmitLValueForFieldInitialization(), EmitMemberInitializer(), clang::CodeGen::CodeGenFunction::EmitMSVAListRef(), clang::CodeGen::CodeGenFunction::EmitObjCMessageExpr(), EmitOMPAggregateInit(), emitOMPArraySectionBase(), clang::CodeGen::CodeGenFunction::EmitOMPDistributeLoop(), clang::CodeGen::CodeGenFunction::EmitOMPReductionClauseInit(), clang::CodeGen::CodeGenFunction::EmitOMPWorksharingLoop(), emitOutlinedFunctionPrologue(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), clang::CodeGen::CodeGenFunction::EmitPointerWithAlignment(), emitPrivatesInit(), emitProxyTaskFunction(), emitReduceFiniFunction(), clang::CodeGen::CodeGenFunction::EmitScalarInit(), clang::CodeGen::CodeGenFunction::EmitSimpleOMPExecutableDirective(), clang::CodeGen::CodeGenFunction::EmitStoreOfScalar(), clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), clang::CodeGen::emitTaskInit(), emitTaskPrivateMappingFunction(), clang::CodeGen::CGOpenMPRuntimeNVPTX::emitTeamsOutlinedFunction(), EmitTypeidFromVTable(), clang::CodeGen::CodeGenFunction::EmitUnaryOpLValue(), clang::CodeGen::CodeGenFunction::EmitVAListRef(), emitWriteback(), emitWritebackArg(), findPeephole(), forConstantArrayExpansion(), clang::CodeGen::AggValueSlot::forLValue(), clang::CodeGen::CodeGenFunction::generateObjCGetterBody(), clang::CodeGen::CodeGenFunction::GenerateObjCSetter(), clang::CodeGen::CallArg::getRValue(), isBlockVarRef(), isSimpleZero(), loadToBegin(), rewriteInputConstraintReferences(), clang::CodeGen::CodeGenFunction::ShouldNullCheckClassCastValue(), clang::CodeGen::CodeGenFunction::StartFunction(), tryEmitARCCopyWeakInit(), and tryEmitARCRetainLoadOfScalar().
|
inline |
Definition at line 313 of file CGValue.h.
References clang::Qualifiers::getAddressSpace().
|
inline |
Definition at line 315 of file CGValue.h.
Referenced by clang::CodeGen::ReductionCodeGen::adjustPrivateAddress(), clang::CodeGen::CodeGenFunction::EmitARCStoreStrong(), clang::CodeGen::CodeGenFunction::EmitCheckedLValue(), emitGlobalToListCopyFunction(), emitListToGlobalCopyFunction(), clang::CodeGen::CodeGenFunction::EmitLValue(), emitReduceFiniFunction(), clang::CodeGen::CGOpenMPRuntimeNVPTX::emitTeamsOutlinedFunction(), and isFullSizeType().
|
inline |
Definition at line 318 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), EmitAtomicUpdateValue(), clang::CodeGen::CodeGenFunction::EmitCastLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfScalar(), clang::CodeGen::CodeGenFunction::EmitLValue(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), clang::CodeGen::CodeGenFunction::EmitLValueForFieldInitialization(), emitOMPArraySectionBase(), clang::CodeGen::CodeGenFunction::EmitPointerWithAlignment(), clang::CodeGen::CodeGenFunction::EmitStoreOfScalar(), clang::CodeGen::CodeGenFunction::EmitUnaryOpLValue(), and loadToBegin().
|
inline |
Definition at line 304 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue().
|
inline |
Definition at line 354 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitConstructorBody(), clang::CodeGen::CodeGenFunction::EmitLoadOfBitfieldLValue(), and clang::CodeGen::CodeGenFunction::EmitStoreThroughBitfieldLValue().
|
inline |
Definition at line 358 of file CGValue.h.
Referenced by EmitAtomicUpdateValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfBitfieldLValue(), and clang::CodeGen::CodeGenFunction::EmitStoreThroughBitfieldLValue().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 364 of file CGValue.h.
References V.
Referenced by clang::CodeGen::CodeGenFunction::EmitLoadOfGlobalRegLValue(), and clang::CodeGen::CodeGenFunction::EmitStoreThroughGlobalRegLValue().
|
inline |
Definition at line 265 of file CGValue.h.
References clang::Qualifiers::getObjCLifetime().
Referenced by clang::CodeGen::CodeGenFunction::EmitScalarInit(), emitWriteback(), and emitWritebackArg().
|
inline |
Definition at line 322 of file CGValue.h.
References V.
Referenced by AddVariableConstraints(), clang::CodeGen::ReductionCodeGen::adjustPrivateAddress(), clang::CodeGen::CodeGenFunction::EmitCallee(), clang::CodeGen::CodeGenFunction::EmitCastLValue(), clang::CodeGen::CodeGenFunction::EmitCheckedLValue(), emitCPPObjectAtomicSetterCall(), clang::CodeGen::CodeGenFunction::EmitDeclRefLValue(), emitGlobalToListCopyFunction(), emitGlobalToListReduceFunction(), emitListToGlobalCopyFunction(), emitListToGlobalReduceFunction(), clang::CodeGen::CodeGenFunction::EmitLValue(), clang::CodeGen::CodeGenFunction::EmitObjCIvarRefLValue(), emitPrivatesInit(), emitProxyTaskFunction(), emitReduceFiniFunction(), clang::CodeGen::CodeGenFunction::EmitReferenceBindingToExpr(), clang::CodeGen::CodeGenFunction::EmitRValueForField(), emitStructSetterCall(), clang::CodeGen::emitTaskInit(), emitTaskPrivateMappingFunction(), clang::CodeGen::CGOpenMPRuntimeNVPTX::emitTeamsOutlinedFunction(), isFullSizeType(), and isSimpleZero().
|
inline |
Definition at line 310 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitDeclRefLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), clang::CodeGen::emitTaskInit(), clang::CodeGen::CodeGenFunction::EmitUnaryOpLValue(), clang::CodeGen::AggValueSlot::forLValue(), and clang::CodeGen::CodeGenFunction::generateObjCGetterBody().
|
inline |
|
inline |
Definition at line 307 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitAggregateCopy(), EmitAtomicUpdateValue(), clang::CodeGen::CodeGenFunction::EmitCastLValue(), clang::CodeGen::CodeGenFunction::EmitDeclRefLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfReference(), clang::CodeGen::CodeGenFunction::EmitLoadOfScalar(), clang::CodeGen::CodeGenFunction::EmitLValue(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), clang::CodeGen::CodeGenFunction::EmitPointerWithAlignment(), emitPrivatesInit(), clang::CodeGen::CodeGenFunction::EmitStoreOfScalar(), and clang::CodeGen::CodeGenModule::getTBAAInfoForSubobject().
|
inline |
Definition at line 263 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::callCStructCopyAssignmentOperator(), clang::CodeGen::CodeGenFunction::callCStructCopyConstructor(), clang::CodeGen::CodeGenFunction::callCStructDefaultConstructor(), clang::CodeGen::CodeGenFunction::callCStructDestructor(), clang::CodeGen::CodeGenFunction::callCStructMoveAssignmentOperator(), clang::CodeGen::CodeGenFunction::callCStructMoveConstructor(), clang::CodeGen::CodeGenFunction::EmitAggregateCopyCtor(), clang::CodeGen::CodeGenFunction::EmitARCStoreStrong(), clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), clang::CodeGen::CodeGenFunction::EmitAtomicLoad(), clang::CodeGen::CodeGenFunction::EmitAtomicStore(), EmitAtomicUpdateValue(), clang::CodeGen::CodeGenFunction::EmitDeclRefLValue(), clang::CodeGen::CodeGenFunction::EmitExtVectorElementLValue(), emitGlobalToListCopyFunction(), clang::CodeGen::ReductionCodeGen::emitInitialization(), emitListToGlobalCopyFunction(), clang::CodeGen::CodeGenFunction::EmitLoadOfBitfieldLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfExtVectorElementLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfGlobalRegLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfReference(), clang::CodeGen::CodeGenFunction::EmitLoadOfReferenceLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfScalar(), clang::CodeGen::CodeGenFunction::EmitLValue(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), clang::CodeGen::CodeGenFunction::EmitNullabilityCheck(), clang::CodeGen::CodeGenFunction::EmitOMPAtomicSimpleUpdateExpr(), clang::CodeGen::CodeGenFunction::emitOMPSimpleStore(), emitOutlinedFunctionPrologue(), emitPrivatesInit(), emitReduceFiniFunction(), emitReductionListCopy(), clang::CodeGen::CodeGenFunction::EmitScalarInit(), clang::CodeGen::CodeGenFunction::EmitStoreOfScalar(), clang::CodeGen::CodeGenFunction::EmitStoreThroughBitfieldLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughExtVectorComponentLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughGlobalRegLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), emitTaskPrivateMappingFunction(), clang::CodeGen::CodeGenFunction::EmitUnaryOpLValue(), isBlockVarRef(), isSimpleZero(), loadToBegin(), clang::CodeGen::CodeGenFunction::LValueIsSuitableForInlineAtomic(), and rewriteInputConstraintReferences().
|
inline |
Definition at line 334 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), and clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue().
|
inline |
Definition at line 338 of file CGValue.h.
Referenced by EmitAtomicUpdateValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), and clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue().
|
inline |
|
inline |
Definition at line 259 of file CGValue.h.
References clang::Qualifiers::getCVRQualifiers().
Referenced by clang::CodeGen::CodeGenFunction::EmitLValueForField().
|
inline |
Definition at line 284 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitARCStoreStrong(), and emitWriteback().
|
inline |
Definition at line 253 of file CGValue.h.
Referenced by EmitAtomicUpdateValue(), clang::CodeGen::CodeGenFunction::EmitCheckedLValue(), clang::CodeGen::CodeGenFunction::EmitConstructorBody(), clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), and isSimpleZero().
|
inline |
Definition at line 254 of file CGValue.h.
Referenced by EmitAtomicUpdateValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), and clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue().
|
inline |
Definition at line 278 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), and setObjCGCLValueClass().
|
inline |
Definition at line 255 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), clang::CodeGen::CodeGenFunction::EmitOMPAtomicSimpleUpdateExpr(), emitSimpleAtomicStore(), and clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue().
|
inline |
Definition at line 275 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue().
|
inline |
Definition at line 290 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitLoadOfScalar(), and clang::CodeGen::CodeGenFunction::EmitStoreOfScalar().
|
inline |
Definition at line 272 of file CGValue.h.
Referenced by setObjCGCLValueClass().
|
inline |
Definition at line 269 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), and setObjCGCLValueClass().
|
inline |
Definition at line 296 of file CGValue.h.
References clang::Qualifiers::getObjCGCAttr().
Referenced by EmitDeclInit(), and clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue().
|
inline |
Definition at line 293 of file CGValue.h.
References clang::Qualifiers::getObjCGCAttr().
Referenced by EmitDeclInit(), clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), and clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue().
|
inline |
Definition at line 258 of file CGValue.h.
References clang::Qualifiers::hasRestrict().
|
inline |
Definition at line 251 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), clang::CodeGen::CodeGenFunction::EmitAtomicLoad(), clang::CodeGen::CodeGenFunction::EmitAtomicStore(), EmitAtomicUpdateValue(), clang::CodeGen::CodeGenFunction::EmitCheckedLValue(), clang::CodeGen::CodeGenFunction::emitImplicitAssignmentOperatorBody(), clang::CodeGen::CodeGenFunction::EmitInitializerForField(), clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), clang::CodeGen::CodeGenFunction::EmitLValue(), clang::CodeGen::CodeGenFunction::EmitReferenceBindingToExpr(), clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), clang::CodeGen::CodeGenFunction::EmitUnaryOpLValue(), findPeephole(), forConstantArrayExpansion(), isBlockVarRef(), isFullSizeType(), and isSimpleZero().
|
inline |
Definition at line 281 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue().
|
inline |
Definition at line 252 of file CGValue.h.
Referenced by EmitAtomicUpdateValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), and clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue().
|
inline |
Definition at line 300 of file CGValue.h.
References clang::Qualifiers::hasVolatile().
Referenced by clang::CodeGen::CodeGenFunction::callCStructCopyAssignmentOperator(), clang::CodeGen::CodeGenFunction::callCStructCopyConstructor(), clang::CodeGen::CodeGenFunction::callCStructDefaultConstructor(), clang::CodeGen::CodeGenFunction::callCStructDestructor(), clang::CodeGen::CodeGenFunction::callCStructMoveAssignmentOperator(), clang::CodeGen::CodeGenFunction::callCStructMoveConstructor(), clang::CodeGen::CodeGenFunction::EmitLoadOfReference(), clang::CodeGen::CodeGenFunction::EmitLoadOfScalar(), emitSimpleAtomicStore(), clang::CodeGen::CodeGenFunction::EmitStoreOfScalar(), clang::CodeGen::CallArg::getRValue(), and clang::CodeGen::CodeGenFunction::LValueIsSuitableForInlineAtomic().
|
inline |
Definition at line 257 of file CGValue.h.
References clang::Qualifiers::hasVolatile().
Referenced by clang::CodeGen::CallArg::copyInto(), clang::CodeGen::CodeGenFunction::EmitAtomicLoad(), clang::CodeGen::CodeGenFunction::EmitAtomicStore(), clang::CodeGen::CodeGenFunction::EmitLoadOfBitfieldLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfExtVectorElementLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), EmitMemberInitializer(), clang::CodeGen::CodeGenFunction::EmitStoreThroughBitfieldLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughExtVectorComponentLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), and GetIntrinsic().
|
inlinestatic |
|
inlinestatic |
Create a new object to represent a bit-field access.
Addr | - The base address of the bit-field sequence this bit-field refers to. |
Info | - The information describing how to perform the bit-field access. |
Definition at line 409 of file CGValue.h.
References BitFieldInfo, clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getPointer(), and clang::QualType::getQualifiers().
Referenced by EmitAtomicUpdateValue(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), and clang::CodeGen::CGObjCRuntime::EmitValueForIvarAtOffset().
|
inlinestatic |
Definition at line 391 of file CGValue.h.
References clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getPointer(), clang::QualType::getQualifiers(), and VectorElts.
Referenced by EmitAtomicUpdateValue().
Definition at line 421 of file CGValue.h.
References clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getPointer(), and clang::QualType::getQualifiers().
|
inlinestatic |
Definition at line 379 of file CGValue.h.
References clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getPointer(), clang::QualType::getQualifiers(), and VectorIdx.
Referenced by clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), and EmitAtomicUpdateValue().
|
inline |
Definition at line 327 of file CGValue.h.
References clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getPointer(), and clang::CharUnits::getQuantity().
Referenced by drillIntoBlockVariable(), emitGlobalToListCopyFunction(), emitListToGlobalCopyFunction(), clang::CodeGen::CodeGenFunction::EmitScalarInit(), clang::CodeGen::CGOpenMPRuntimeNVPTX::emitTeamsOutlinedFunction(), and rewriteInputConstraintReferences().
|
inline |
Definition at line 316 of file CGValue.h.
References clang::CharUnits::getQuantity().
|
inline |
Definition at line 287 of file CGValue.h.
References clang::CodeGen::ARCImpreciseLifetime.
Referenced by clang::CodeGen::CodeGenFunction::EmitDeclRefLValue().
|
inline |
|
inline |
|
inline |
Definition at line 279 of file CGValue.h.
Referenced by setObjCGCLValueClass().
|
inline |
Definition at line 276 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), clang::CodeGen::CodeGenFunction::EmitAutoVarInit(), clang::CodeGen::CodeGenFunction::EmitDeclRefLValue(), and isSimpleZero().
|
inline |
Definition at line 291 of file CGValue.h.
Referenced by EmitNontemporalLoad(), and EmitNontemporalStore().
|
inline |
Definition at line 273 of file CGValue.h.
Referenced by setObjCGCLValueClass().
|
inline |
Definition at line 270 of file CGValue.h.
Referenced by setObjCGCLValueClass().
|
inline |
Definition at line 308 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::ShouldNullCheckClassCastValue().
|
inline |
Definition at line 282 of file CGValue.h.
Referenced by setObjCGCLValueClass().
const CGBitFieldInfo* clang::CodeGen::LValue::BitFieldInfo |
Definition at line 185 of file CGValue.h.
Referenced by MakeBitfield().
llvm::Constant* clang::CodeGen::LValue::VectorElts |
Definition at line 182 of file CGValue.h.
Referenced by MakeExtVectorElt().
llvm::Value* clang::CodeGen::LValue::VectorIdx |
Definition at line 179 of file CGValue.h.
Referenced by MakeVectorElt().