clang 18.0.0git
|
LValue - This represents an lvalue references. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/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. | |
static LValue | MakeGlobalReg (llvm::Value *V, CharUnits alignment, QualType type) |
static LValue | MakeMatrixElt (Address matAddress, llvm::Value *Idx, QualType type, LValueBaseInfo BaseInfo, TBAAAccessInfo TBAAInfo) |
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 506 of file CGValue.h.
References getAddress(), clang::CodeGen::RValue::getAggregate(), and isVolatileQualified().
|
inline |
Definition at line 350 of file CGValue.h.
References getAlignment(), getPointer(), and isKnownNonNull().
Referenced by clang::CodeGen::ReductionCodeGen::adjustPrivateAddress(), clang::CodeGen::CGOpenMPRuntimeGPU::adjustTargetSpecificDataForLambdas(), asAggregateRValue(), castValueFromUintptr(), clang::CodeGen::CGOpenMPRuntime::checkAndEmitLastprivateConditional(), clang::CodeGen::CallArg::copyInto(), drillIntoBlockVariable(), EmitAsmStores(), emitCombinerOrInitializer(), clang::CodeGen::CGOpenMPRuntime::emitDepobjElementsSizes(), clang::CodeGen::CGOpenMPRuntime::emitDestroyClause(), emitDestructorsFunction(), emitDistributeParallelForDistributeInnerBoundParams(), emitGlobalToListCopyFunction(), emitGlobalToListReduceFunction(), clang::CodeGen::CGOpenMPRuntime::emitLastprivateConditionalInit(), emitListToGlobalCopyFunction(), emitListToGlobalReduceFunction(), EmitLoadOfMatrixLValue(), EmitMemberInitializer(), emitOMPArraySectionBase(), emitOMPAtomicCompareExpr(), emitOutlinedFunctionPrologue(), EmitPointerWithAlignment(), emitPrivatesInit(), emitProxyTaskFunction(), emitScanBasedDirectiveFinals(), EmitStoreOfMatrixScalar(), clang::CodeGen::CGOpenMPRuntime::emitTaskLoopCall(), emitTaskPrivateMappingFunction(), clang::CodeGen::CGOpenMPRuntime::emitTaskReductionInit(), EmitTypeidFromVTable(), clang::CodeGen::CGOpenMPRuntime::emitUsesAllocatorsInit(), emitWriteback(), emitWritebackArg(), clang::CodeGen::AggValueSlot::forLValue(), clang::CodeGen::CGOpenMPRuntime::getDepobjElements(), getPointerAndSize(), loadToBegin(), tryEmitARCCopyWeakInit(), and tryEmitARCRetainLoadOfScalar().
|
inline |
Definition at line 329 of file CGValue.h.
References clang::Qualifiers::getAddressSpace().
|
inline |
Definition at line 331 of file CGValue.h.
References clang::CharUnits::fromQuantity().
Referenced by clang::CodeGen::CGOpenMPRuntime::emitLastprivateConditionalFinalUpdate(), clang::CodeGen::CGOpenMPRuntime::emitLastprivateConditionalUpdate(), getAddress(), getBitFieldAddress(), getExtVectorAddress(), getMatrixAddress(), clang::CodeGen::CGOpenMPRuntime::getTaskReductionItem(), and getVectorAddress().
|
inline |
Definition at line 334 of file CGValue.h.
Referenced by EmitAtomicUpdateValue(), emitOMPArraySectionBase(), EmitPointerWithAlignment(), EmitStoreOfMatrixScalar(), clang::CodeGen::CGOpenMPRuntime::emitUsesAllocatorsInit(), and loadToBegin().
|
inline |
|
inline |
Definition at line 404 of file CGValue.h.
References getAlignment(), getBitFieldPointer(), and isKnownNonNull().
|
inline |
Definition at line 409 of file CGValue.h.
References BitFieldInfo, and isBitField().
Referenced by EmitAtomicUpdateValue().
|
inline |
Definition at line 408 of file CGValue.h.
References isBitField(), and V.
Referenced by getBitFieldAddress().
|
inline |
Definition at line 390 of file CGValue.h.
References getAlignment(), getExtVectorPointer(), and isKnownNonNull().
|
inline |
Definition at line 398 of file CGValue.h.
References isExtVectorElt(), and VectorElts.
Referenced by EmitAtomicUpdateValue().
|
inline |
Definition at line 394 of file CGValue.h.
References isExtVectorElt(), and V.
Referenced by getExtVectorAddress().
|
inline |
Definition at line 415 of file CGValue.h.
References isGlobalReg(), and V.
|
inline |
Definition at line 376 of file CGValue.h.
References getAlignment(), getMatrixPointer(), and isKnownNonNull().
|
inline |
Definition at line 384 of file CGValue.h.
References isMatrixElt(), and VectorIdx.
|
inline |
Definition at line 380 of file CGValue.h.
References isMatrixElt(), and V.
Referenced by getMatrixAddress().
|
inline |
Definition at line 281 of file CGValue.h.
References clang::Qualifiers::getObjCLifetime().
Referenced by emitWriteback(), and emitWritebackArg().
|
inline |
Definition at line 346 of file CGValue.h.
References isSimple(), and V.
Referenced by clang::CodeGen::ReductionCodeGen::adjustPrivateAddress(), emitCapturedStmtFunc(), emitCPPObjectAtomicGetterCall(), emitCPPObjectAtomicSetterCall(), clang::CodeGen::CGOpenMPRuntime::emitErrorCall(), emitProxyTaskFunction(), clang::CodeGen::CGOpenMPRuntime::emitReduction(), clang::CodeGen::CGOpenMPRuntimeGPU::emitReduction(), clang::CodeGen::CGOpenMPRuntime::emitSingleRegion(), emitStructGetterCall(), emitStructSetterCall(), clang::CodeGen::CGOpenMPRuntime::emitTaskLoopCall(), emitTaskPrivateMappingFunction(), clang::CodeGen::CGOpenMPRuntime::emitTaskReductionInit(), getAddress(), getPointerAndSize(), clang::CodeGen::CGOpenMPRuntime::getTaskReductionItem(), and clang::CodeGen::CGOpenMPRuntime::getThreadID().
|
inline |
|
inline |
Definition at line 326 of file CGValue.h.
Referenced by clang::CodeGen::CGOpenMPRuntime::emitTaskLoopCall(), and clang::CodeGen::AggValueSlot::forLValue().
|
inline |
Definition at line 323 of file CGValue.h.
Referenced by EmitAtomicUpdateValue(), EmitPointerWithAlignment(), emitPrivatesInit(), EmitStoreOfMatrixScalar(), and clang::CodeGen::CGOpenMPRuntime::emitUsesAllocatorsInit().
|
inline |
Definition at line 279 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitAggregateCopyCtor(), EmitAtomicUpdateValue(), emitGlobalToListCopyFunction(), clang::CodeGen::CGOpenMPRuntime::emitLastprivateConditionalFinalUpdate(), clang::CodeGen::CGOpenMPRuntime::emitLastprivateConditionalUpdate(), emitListToGlobalCopyFunction(), EmitLoadOfMatrixLValue(), emitOutlinedFunctionPrologue(), emitPreserveStructAccess(), emitPrivatesInit(), EmitStoreOfMatrixScalar(), emitTaskPrivateMappingFunction(), clang::CodeGen::CGOpenMPRuntime::emitTaskReductionInit(), and loadToBegin().
|
inline |
Definition at line 363 of file CGValue.h.
References getAlignment(), getVectorPointer(), and isKnownNonNull().
|
inline |
Definition at line 371 of file CGValue.h.
References isVectorElt(), and VectorIdx.
Referenced by EmitAtomicUpdateValue().
|
inline |
Definition at line 367 of file CGValue.h.
References isVectorElt(), and V.
Referenced by getVectorAddress().
|
inline |
Definition at line 275 of file CGValue.h.
References clang::Qualifiers::getCVRQualifiers().
|
inline |
Definition at line 300 of file CGValue.h.
Referenced by emitWriteback().
|
inline |
Definition at line 268 of file CGValue.h.
Referenced by EmitAtomicUpdateValue(), getBitFieldInfo(), and getBitFieldPointer().
|
inline |
Definition at line 269 of file CGValue.h.
Referenced by EmitAtomicUpdateValue(), getExtVectorElts(), and getExtVectorPointer().
|
inline |
Definition at line 294 of file CGValue.h.
Referenced by setObjCGCLValueClass().
|
inline |
Definition at line 270 of file CGValue.h.
Referenced by emitSimpleAtomicLoad(), emitSimpleAtomicStore(), and getGlobalReg().
|
inline |
Definition at line 337 of file CGValue.h.
Referenced by getAddress(), getBitFieldAddress(), getExtVectorAddress(), getMatrixAddress(), and getVectorAddress().
|
inline |
Definition at line 271 of file CGValue.h.
Referenced by getMatrixIdx(), and getMatrixPointer().
|
inline |
Definition at line 306 of file CGValue.h.
Referenced by EmitStoreOfMatrixScalar().
|
inline |
Definition at line 288 of file CGValue.h.
Referenced by setObjCGCLValueClass().
|
inline |
Definition at line 285 of file CGValue.h.
Referenced by setObjCGCLValueClass().
|
inline |
Definition at line 312 of file CGValue.h.
References clang::Qualifiers::getObjCGCAttr(), and clang::Qualifiers::Strong.
Referenced by EmitDeclInit().
|
inline |
Definition at line 309 of file CGValue.h.
References clang::Qualifiers::getObjCGCAttr(), and clang::Qualifiers::Weak.
Referenced by EmitDeclInit().
|
inline |
Definition at line 274 of file CGValue.h.
References clang::Qualifiers::hasRestrict().
|
inline |
Definition at line 266 of file CGValue.h.
Referenced by EmitAtomicUpdateValue(), getPointer(), and setAddress().
|
inline |
|
inline |
Definition at line 267 of file CGValue.h.
Referenced by EmitAtomicUpdateValue(), getVectorIdx(), and getVectorPointer().
|
inline |
Definition at line 316 of file CGValue.h.
References clang::Qualifiers::hasVolatile().
Referenced by emitSimpleAtomicLoad(), emitSimpleAtomicStore(), EmitStoreOfMatrixScalar(), and clang::CodeGen::CallArg::getRValue().
|
inline |
Definition at line 273 of file CGValue.h.
References clang::Qualifiers::hasVolatile().
Referenced by asAggregateRValue(), clang::CodeGen::CallArg::copyInto(), and EmitMemberInitializer().
|
inlinestatic |
Definition at line 417 of file CGValue.h.
References clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getElementType(), clang::CodeGen::Address::getPointer(), clang::CodeGen::Address::isKnownNonNull(), clang::Qualifiers::setObjCGCAttr(), and clang::ast_matchers::type.
Referenced by clang::CodeGen::CodeGenFunction::MakeAddrLValue(), and clang::CodeGen::CodeGenFunction::MakeAddrLValueWithoutTBAA().
|
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 466 of file CGValue.h.
References BitFieldInfo, clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getElementType(), clang::CodeGen::Address::getPointer(), clang::CodeGen::Address::isKnownNonNull(), and clang::ast_matchers::type.
Referenced by EmitAtomicUpdateValue(), and clang::CodeGen::CGObjCRuntime::EmitValueForIvarAtOffset().
|
inlinestatic |
Definition at line 446 of file CGValue.h.
References clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getElementType(), clang::CodeGen::Address::getPointer(), clang::CodeGen::Address::isKnownNonNull(), clang::ast_matchers::type, and VectorElts.
Referenced by EmitAtomicUpdateValue().
|
inlinestatic |
Definition at line 480 of file CGValue.h.
References clang::CodeGen::Decl, clang::ast_matchers::type, and V.
Referenced by EmitGlobalNamedRegister().
|
inlinestatic |
Definition at line 492 of file CGValue.h.
References clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getElementType(), clang::CodeGen::Address::getPointer(), clang::CodeGen::Address::isKnownNonNull(), clang::ast_matchers::type, and VectorIdx.
|
inlinestatic |
Definition at line 432 of file CGValue.h.
References clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getElementType(), clang::CodeGen::Address::getPointer(), clang::CodeGen::Address::isKnownNonNull(), clang::ast_matchers::type, and VectorIdx.
Referenced by EmitAtomicUpdateValue().
|
inline |
Definition at line 354 of file CGValue.h.
References clang::CodeGen::Address::getAlignment(), clang::CodeGen::Address::getElementType(), clang::CodeGen::Address::getPointer(), clang::CharUnits::getQuantity(), clang::CodeGen::Address::isKnownNonNull(), isSimple(), and V.
Referenced by drillIntoBlockVariable(), emitGlobalToListCopyFunction(), emitListToGlobalCopyFunction(), and EmitLoadOfMatrixLValue().
|
inline |
Definition at line 332 of file CGValue.h.
References clang::CharUnits::getQuantity().
|
inline |
Definition at line 303 of file CGValue.h.
References clang::CodeGen::ARCImpreciseLifetime.
|
inline |
|
inline |
|
inline |
Definition at line 295 of file CGValue.h.
Referenced by setObjCGCLValueClass().
|
inline |
|
inline |
Definition at line 307 of file CGValue.h.
Referenced by EmitNontemporalLoad(), and EmitNontemporalStore().
|
inline |
Definition at line 289 of file CGValue.h.
Referenced by setObjCGCLValueClass().
|
inline |
Definition at line 286 of file CGValue.h.
Referenced by setObjCGCLValueClass().
|
inline |
|
inline |
Definition at line 298 of file CGValue.h.
Referenced by setObjCGCLValueClass().
const CGBitFieldInfo* clang::CodeGen::LValue::BitFieldInfo |
Definition at line 192 of file CGValue.h.
Referenced by getBitFieldInfo(), and MakeBitfield().
llvm::Constant* clang::CodeGen::LValue::VectorElts |
Definition at line 189 of file CGValue.h.
Referenced by getExtVectorElts(), and MakeExtVectorElt().
llvm::Value* clang::CodeGen::LValue::VectorIdx |
Definition at line 186 of file CGValue.h.
Referenced by getMatrixIdx(), getVectorIdx(), MakeMatrixElt(), and MakeVectorElt().