clang 19.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 Addr, 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 Addr, 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 365 of file CGValue.h.
References Addr, clang::CodeGen::Address::emitRawPointer(), isSimple(), and clang::CodeGen::Address::isValid().
Referenced by clang::CodeGen::CodeGenFunction::EmitTypeCheck().
|
inline |
Definition at line 370 of file CGValue.h.
References Addr.
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 344 of file CGValue.h.
References clang::Qualifiers::getAddressSpace().
|
inline |
Definition at line 346 of file CGValue.h.
References Addr, and clang::CodeGen::Address::getAlignment().
Referenced by clang::CodeGen::CGOpenMPRuntime::emitLastprivateConditionalFinalUpdate(), clang::CodeGen::CGOpenMPRuntime::emitLastprivateConditionalUpdate(), clang::CodeGen::CodeGenFunction::EmitTypeCheck(), and clang::CodeGen::CGOpenMPRuntime::getTaskReductionItem().
|
inline |
Definition at line 349 of file CGValue.h.
Referenced by EmitAtomicUpdateValue(), emitOMPArraySectionBase(), EmitPointerWithAlignment(), EmitStoreOfMatrixScalar(), clang::CodeGen::CGOpenMPRuntime::emitUsesAllocatorsInit(), and loadToBegin().
|
inline |
|
inline |
Definition at line 423 of file CGValue.h.
References Addr, and isBitField().
|
inline |
Definition at line 432 of file CGValue.h.
References BitFieldInfo, and isBitField().
Referenced by EmitAtomicUpdateValue().
|
inline |
Definition at line 409 of file CGValue.h.
References Addr, and isExtVectorElt().
|
inline |
Definition at line 417 of file CGValue.h.
References isExtVectorElt(), and VectorElts.
Referenced by EmitAtomicUpdateValue().
|
inline |
Definition at line 438 of file CGValue.h.
References isGlobalReg(), and V.
|
inline |
Definition at line 395 of file CGValue.h.
References Addr, and isMatrixElt().
|
inline |
Definition at line 403 of file CGValue.h.
References isMatrixElt(), and VectorIdx.
|
inline |
Definition at line 399 of file CGValue.h.
References Addr, clang::CodeGen::Address::getBasePointer(), and isMatrixElt().
|
inline |
Definition at line 296 of file CGValue.h.
References clang::Qualifiers::getObjCLifetime().
Referenced by emitWriteback(), and emitWritebackArg().
|
inline |
Definition at line 361 of file CGValue.h.
References Addr, clang::CodeGen::Address::getBasePointer(), and isSimple().
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(), emitSuspendExpression(), clang::CodeGen::CGOpenMPRuntime::emitTaskLoopCall(), emitTaskPrivateMappingFunction(), clang::CodeGen::CGOpenMPRuntime::emitTaskReductionInit(), getPointerAndSize(), clang::CodeGen::CGOpenMPRuntime::getTaskReductionItem(), and clang::CodeGen::CGOpenMPRuntime::getThreadID().
|
inline |
|
inline |
Definition at line 341 of file CGValue.h.
Referenced by clang::CodeGen::CGOpenMPRuntime::emitTaskLoopCall(), and clang::CodeGen::AggValueSlot::forLValue().
|
inline |
Definition at line 427 of file CGValue.h.
References Addr, clang::CodeGen::Address::emitRawPointer(), and isBitField().
|
inline |
Definition at line 413 of file CGValue.h.
References Addr, clang::CodeGen::Address::emitRawPointer(), and isExtVectorElt().
|
inline |
Definition at line 382 of file CGValue.h.
References Addr, clang::CodeGen::Address::emitRawPointer(), and isVectorElt().
|
inline |
Definition at line 338 of file CGValue.h.
Referenced by EmitAtomicUpdateValue(), EmitPointerWithAlignment(), emitPrivatesInit(), EmitStoreOfMatrixScalar(), and clang::CodeGen::CGOpenMPRuntime::emitUsesAllocatorsInit().
|
inline |
Definition at line 294 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitAggregateCopyCtor(), EmitAtomicUpdateValue(), clang::CodeGen::CGOpenMPRuntime::emitLastprivateConditionalFinalUpdate(), clang::CodeGen::CGOpenMPRuntime::emitLastprivateConditionalUpdate(), EmitLoadOfMatrixLValue(), emitOutlinedFunctionPrologue(), emitPreserveStructAccess(), emitPrivatesInit(), EmitStoreOfMatrixScalar(), emitTaskPrivateMappingFunction(), clang::CodeGen::CGOpenMPRuntime::emitTaskReductionInit(), and loadToBegin().
|
inline |
Definition at line 378 of file CGValue.h.
References Addr, and isVectorElt().
|
inline |
Definition at line 390 of file CGValue.h.
References isVectorElt(), and VectorIdx.
Referenced by EmitAtomicUpdateValue().
|
inline |
Definition at line 386 of file CGValue.h.
References Addr, clang::CodeGen::Address::getBasePointer(), and isVectorElt().
|
inline |
Definition at line 290 of file CGValue.h.
References clang::Qualifiers::getCVRQualifiers().
|
inline |
Definition at line 315 of file CGValue.h.
Referenced by emitWriteback().
|
inline |
Definition at line 283 of file CGValue.h.
Referenced by EmitAtomicUpdateValue(), getBitFieldAddress(), getBitFieldInfo(), and getRawBitFieldPointer().
|
inline |
Definition at line 284 of file CGValue.h.
Referenced by EmitAtomicUpdateValue(), getExtVectorAddress(), getExtVectorElts(), and getRawExtVectorPointer().
|
inline |
Definition at line 309 of file CGValue.h.
Referenced by setObjCGCLValueClass().
|
inline |
Definition at line 285 of file CGValue.h.
Referenced by emitSimpleAtomicLoad(), emitSimpleAtomicStore(), and getGlobalReg().
|
inline |
|
inline |
Definition at line 286 of file CGValue.h.
Referenced by getMatrixAddress(), getMatrixIdx(), and getMatrixPointer().
|
inline |
Definition at line 321 of file CGValue.h.
Referenced by EmitStoreOfMatrixScalar().
|
inline |
Definition at line 303 of file CGValue.h.
Referenced by setObjCGCLValueClass().
|
inline |
Definition at line 300 of file CGValue.h.
Referenced by setObjCGCLValueClass().
|
inline |
Definition at line 327 of file CGValue.h.
References clang::Qualifiers::getObjCGCAttr(), and clang::Qualifiers::Strong.
Referenced by EmitDeclInit().
|
inline |
Definition at line 324 of file CGValue.h.
References clang::Qualifiers::getObjCGCAttr(), and clang::Qualifiers::Weak.
Referenced by EmitDeclInit().
|
inline |
Definition at line 289 of file CGValue.h.
References clang::Qualifiers::hasRestrict().
|
inline |
Definition at line 281 of file CGValue.h.
Referenced by EmitAtomicUpdateValue(), emitRawPointer(), and getPointer().
|
inline |
|
inline |
Definition at line 282 of file CGValue.h.
Referenced by EmitAtomicUpdateValue(), getRawVectorPointer(), getVectorAddress(), getVectorIdx(), and getVectorPointer().
|
inline |
Definition at line 331 of file CGValue.h.
References clang::Qualifiers::hasVolatile().
Referenced by emitSimpleAtomicLoad(), emitSimpleAtomicStore(), EmitStoreOfMatrixScalar(), and clang::CodeGen::CallArg::getRValue().
|
inline |
Definition at line 288 of file CGValue.h.
References clang::Qualifiers::hasVolatile().
Referenced by asAggregateRValue(), clang::CodeGen::CallArg::copyInto(), and EmitMemberInitializer().
|
inlinestatic |
Definition at line 440 of file CGValue.h.
References Addr, clang::CodeGen::Address::getType(), and clang::ast_matchers::type.
Referenced by clang::CodeGen::CodeGenFunction::MakeAddrLValue(), clang::CodeGen::CodeGenFunction::MakeAddrLValueWithoutTBAA(), and clang::CodeGen::CodeGenFunction::MakeRawAddrLValue().
|
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 476 of file CGValue.h.
References Addr, BitFieldInfo, and clang::ast_matchers::type.
Referenced by EmitAtomicUpdateValue(), and clang::CodeGen::CGObjCRuntime::EmitValueForIvarAtOffset().
|
inlinestatic |
Definition at line 460 of file CGValue.h.
References Addr, clang::ast_matchers::type, and VectorElts.
Referenced by EmitAtomicUpdateValue().
|
inlinestatic |
Definition at line 486 of file CGValue.h.
References clang::CodeGen::Decl, clang::CodeGen::Address::invalid(), clang::ast_matchers::type, and V.
Referenced by EmitGlobalNamedRegister().
|
inlinestatic |
Definition at line 496 of file CGValue.h.
References clang::ast_matchers::type, and VectorIdx.
|
inlinestatic |
Definition at line 450 of file CGValue.h.
References clang::ast_matchers::type, and VectorIdx.
Referenced by EmitAtomicUpdateValue().
|
inline |
Definition at line 375 of file CGValue.h.
References Addr.
Referenced by drillIntoBlockVariable(), emitGlobalToListCopyFunction(), emitListToGlobalCopyFunction(), and EmitLoadOfMatrixLValue().
|
inline |
Definition at line 347 of file CGValue.h.
References Addr, and clang::CodeGen::Address::setAlignment().
|
inline |
Definition at line 318 of file CGValue.h.
References clang::CodeGen::ARCImpreciseLifetime.
|
inline |
|
inline |
|
inline |
Definition at line 310 of file CGValue.h.
Referenced by setObjCGCLValueClass().
|
inline |
|
inline |
Definition at line 322 of file CGValue.h.
Referenced by EmitNontemporalLoad(), and EmitNontemporalStore().
|
inline |
Definition at line 304 of file CGValue.h.
Referenced by setObjCGCLValueClass().
|
inline |
Definition at line 301 of file CGValue.h.
Referenced by setObjCGCLValueClass().
|
inline |
|
inline |
Definition at line 313 of file CGValue.h.
Referenced by setObjCGCLValueClass().
Address clang::CodeGen::LValue::Addr = Address::invalid() |
Definition at line 192 of file CGValue.h.
Referenced by emitRawPointer(), getAddress(), getAlignment(), getBitFieldAddress(), getExtVectorAddress(), getMatrixAddress(), getMatrixPointer(), getPointer(), getRawBitFieldPointer(), getRawExtVectorPointer(), getRawVectorPointer(), getVectorAddress(), getVectorPointer(), MakeAddr(), MakeBitfield(), MakeExtVectorElt(), setAddress(), and setAlignment().
const CGBitFieldInfo* clang::CodeGen::LValue::BitFieldInfo |
Definition at line 204 of file CGValue.h.
Referenced by getBitFieldInfo(), and MakeBitfield().
llvm::Value* clang::CodeGen::LValue::V |
Definition at line 193 of file CGValue.h.
Referenced by getGlobalReg(), MakeGlobalReg(), and setBaseIvarExp().
llvm::Constant* clang::CodeGen::LValue::VectorElts |
Definition at line 201 of file CGValue.h.
Referenced by getExtVectorElts(), and MakeExtVectorElt().
llvm::Value* clang::CodeGen::LValue::VectorIdx |
Definition at line 198 of file CGValue.h.
Referenced by getMatrixIdx(), getVectorIdx(), MakeMatrixElt(), and MakeVectorElt().