clang 20.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 498 of file CGValue.h.
References getAddress(), clang::CodeGen::RValue::getAggregate(), and isVolatileQualified().
llvm::Value * LValue::emitRawPointer | ( | CodeGenFunction & | CGF | ) | const |
Definition at line 618 of file CGPointerAuth.cpp.
References Addr, clang::CodeGen::Address::emitRawPointer(), isSimple(), and clang::CodeGen::Address::isValid().
Referenced by clang::CodeGen::CodeGenFunction::EmitTypeCheck().
llvm::Value * LValue::emitResignedPointer | ( | QualType | PointeeTy, |
CodeGenFunction & | CGF | ||
) | const |
Definition at line 612 of file CGPointerAuth.cpp.
References Addr, clang::CodeGen::CodeGenFunction::getAsNaturalAddressOf(), clang::CodeGen::Address::getBasePointer(), and isSimple().
Referenced by getPointer().
|
inline |
Definition at line 361 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(), clang::CodeGen::CGOpenMPRuntime::emitLastprivateConditionalInit(), 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 341 of file CGValue.h.
References clang::Qualifiers::getAddressSpace().
|
inline |
Definition at line 343 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 346 of file CGValue.h.
Referenced by EmitAtomicUpdateValue(), emitOMPArraySectionBase(), EmitPointerWithAlignment(), EmitStoreOfMatrixScalar(), clang::CodeGen::CGOpenMPRuntime::emitUsesAllocatorsInit(), and loadToBegin().
|
inline |
|
inline |
Definition at line 415 of file CGValue.h.
References Addr, and isBitField().
|
inline |
Definition at line 424 of file CGValue.h.
References BitFieldInfo, and isBitField().
Referenced by EmitAtomicUpdateValue().
|
inline |
Definition at line 401 of file CGValue.h.
References Addr, and isExtVectorElt().
|
inline |
Definition at line 409 of file CGValue.h.
References isExtVectorElt(), and VectorElts.
Referenced by EmitAtomicUpdateValue().
|
inline |
Definition at line 430 of file CGValue.h.
References isGlobalReg(), and V.
|
inline |
Definition at line 387 of file CGValue.h.
References Addr, and isMatrixElt().
|
inline |
Definition at line 395 of file CGValue.h.
References isMatrixElt(), and VectorIdx.
|
inline |
Definition at line 391 of file CGValue.h.
References Addr, clang::CodeGen::Address::getBasePointer(), and isMatrixElt().
|
inline |
Definition at line 293 of file CGValue.h.
References clang::Qualifiers::getObjCLifetime().
Referenced by emitWriteback(), and emitWritebackArg().
llvm::Value * LValue::getPointer | ( | CodeGenFunction & | CGF | ) | const |
Definition at line 607 of file CGPointerAuth.cpp.
References emitResignedPointer(), getType(), and isSimple().
Referenced by clang::CodeGen::ReductionCodeGen::adjustPrivateAddress(), emitCapturedStmtFunc(), emitCPPObjectAtomicGetterCall(), emitCPPObjectAtomicSetterCall(), clang::CodeGen::CGOpenMPRuntime::emitErrorCall(), emitProxyTaskFunction(), clang::CodeGen::CGOpenMPRuntime::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 |
Definition at line 365 of file CGValue.h.
References Addr, and clang::CodeGen::Address::getPointerAuthInfo().
|
inline |
|
inline |
Definition at line 338 of file CGValue.h.
Referenced by clang::CodeGen::CGOpenMPRuntime::emitTaskLoopCall(), and clang::CodeGen::AggValueSlot::forLValue().
|
inline |
Definition at line 419 of file CGValue.h.
References Addr, clang::CodeGen::Address::emitRawPointer(), and isBitField().
|
inline |
Definition at line 405 of file CGValue.h.
References Addr, clang::CodeGen::Address::emitRawPointer(), and isExtVectorElt().
|
inline |
Definition at line 374 of file CGValue.h.
References Addr, clang::CodeGen::Address::emitRawPointer(), and isVectorElt().
|
inline |
Definition at line 335 of file CGValue.h.
Referenced by EmitAtomicUpdateValue(), EmitPointerWithAlignment(), emitPrivatesInit(), EmitStoreOfMatrixScalar(), and clang::CodeGen::CGOpenMPRuntime::emitUsesAllocatorsInit().
|
inline |
Definition at line 291 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(), getPointer(), and loadToBegin().
|
inline |
Definition at line 370 of file CGValue.h.
References Addr, and isVectorElt().
|
inline |
Definition at line 382 of file CGValue.h.
References isVectorElt(), and VectorIdx.
Referenced by EmitAtomicUpdateValue().
|
inline |
Definition at line 378 of file CGValue.h.
References Addr, clang::CodeGen::Address::getBasePointer(), and isVectorElt().
|
inline |
Definition at line 287 of file CGValue.h.
References clang::Qualifiers::getCVRQualifiers().
|
inline |
Definition at line 312 of file CGValue.h.
Referenced by emitWriteback().
|
inline |
Definition at line 280 of file CGValue.h.
Referenced by EmitAtomicUpdateValue(), getBitFieldAddress(), getBitFieldInfo(), and getRawBitFieldPointer().
|
inline |
Definition at line 281 of file CGValue.h.
Referenced by EmitAtomicUpdateValue(), getExtVectorAddress(), getExtVectorElts(), and getRawExtVectorPointer().
|
inline |
Definition at line 306 of file CGValue.h.
Referenced by setObjCGCLValueClass().
|
inline |
Definition at line 282 of file CGValue.h.
Referenced by emitSimpleAtomicLoad(), emitSimpleAtomicStore(), and getGlobalReg().
|
inline |
Definition at line 349 of file CGValue.h.
References Addr, and clang::CodeGen::Address::isKnownNonNull().
|
inline |
Definition at line 283 of file CGValue.h.
Referenced by getMatrixAddress(), getMatrixIdx(), and getMatrixPointer().
|
inline |
Definition at line 318 of file CGValue.h.
Referenced by EmitStoreOfMatrixScalar().
|
inline |
Definition at line 300 of file CGValue.h.
Referenced by setObjCGCLValueClass().
|
inline |
Definition at line 297 of file CGValue.h.
Referenced by setObjCGCLValueClass().
|
inline |
Definition at line 324 of file CGValue.h.
References clang::Qualifiers::getObjCGCAttr(), and clang::Qualifiers::Strong.
Referenced by EmitDeclInit().
|
inline |
Definition at line 321 of file CGValue.h.
References clang::Qualifiers::getObjCGCAttr(), and clang::Qualifiers::Weak.
Referenced by EmitDeclInit().
|
inline |
Definition at line 286 of file CGValue.h.
References clang::Qualifiers::hasRestrict().
|
inline |
Definition at line 278 of file CGValue.h.
Referenced by EmitAtomicUpdateValue(), emitRawPointer(), emitResignedPointer(), and getPointer().
|
inline |
|
inline |
Definition at line 279 of file CGValue.h.
Referenced by EmitAtomicUpdateValue(), getRawVectorPointer(), getVectorAddress(), getVectorIdx(), and getVectorPointer().
|
inline |
Definition at line 328 of file CGValue.h.
References clang::Qualifiers::hasVolatile().
Referenced by emitSimpleAtomicLoad(), emitSimpleAtomicStore(), EmitStoreOfMatrixScalar(), and clang::CodeGen::CallArg::getRValue().
|
inline |
Definition at line 285 of file CGValue.h.
References clang::Qualifiers::hasVolatile().
Referenced by asAggregateRValue(), clang::CodeGen::CallArg::copyInto(), and EmitMemberInitializer().
|
inlinestatic |
Definition at line 432 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 468 of file CGValue.h.
References Addr, BitFieldInfo, and clang::ast_matchers::type.
Referenced by EmitAtomicUpdateValue(), and clang::CodeGen::CGObjCRuntime::EmitValueForIvarAtOffset().
|
inlinestatic |
Definition at line 452 of file CGValue.h.
References Addr, clang::ast_matchers::type, and VectorElts.
Referenced by EmitAtomicUpdateValue().
|
inlinestatic |
Definition at line 478 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 488 of file CGValue.h.
References clang::ast_matchers::type, and VectorIdx.
|
inlinestatic |
Definition at line 442 of file CGValue.h.
References clang::ast_matchers::type, and VectorIdx.
Referenced by EmitAtomicUpdateValue().
|
inline |
Definition at line 363 of file CGValue.h.
References Addr.
Referenced by drillIntoBlockVariable(), and EmitLoadOfMatrixLValue().
|
inline |
Definition at line 344 of file CGValue.h.
References Addr, and clang::CodeGen::Address::setAlignment().
|
inline |
Definition at line 315 of file CGValue.h.
References clang::CodeGen::ARCImpreciseLifetime.
|
inline |
|
inline |
|
inline |
Definition at line 307 of file CGValue.h.
Referenced by setObjCGCLValueClass().
|
inline |
Definition at line 350 of file CGValue.h.
References Addr, and clang::CodeGen::Address::setKnownNonNull().
|
inline |
|
inline |
Definition at line 319 of file CGValue.h.
Referenced by EmitNontemporalLoad(), and EmitNontemporalStore().
|
inline |
Definition at line 301 of file CGValue.h.
Referenced by setObjCGCLValueClass().
|
inline |
Definition at line 298 of file CGValue.h.
Referenced by setObjCGCLValueClass().
|
inline |
|
inline |
Definition at line 310 of file CGValue.h.
Referenced by setObjCGCLValueClass().
Address clang::CodeGen::LValue::Addr = Address::invalid() |
Definition at line 193 of file CGValue.h.
Referenced by emitRawPointer(), emitResignedPointer(), getAddress(), getAlignment(), getBitFieldAddress(), getExtVectorAddress(), getMatrixAddress(), getMatrixPointer(), getPointerAuthInfo(), getRawBitFieldPointer(), getRawExtVectorPointer(), getRawVectorPointer(), getVectorAddress(), getVectorPointer(), isKnownNonNull(), MakeAddr(), MakeBitfield(), MakeExtVectorElt(), setAddress(), setAlignment(), and setKnownNonNull().
const CGBitFieldInfo* clang::CodeGen::LValue::BitFieldInfo |
Definition at line 205 of file CGValue.h.
Referenced by getBitFieldInfo(), and MakeBitfield().
llvm::Value* clang::CodeGen::LValue::V |
Definition at line 194 of file CGValue.h.
Referenced by getGlobalReg(), MakeGlobalReg(), and setBaseIvarExp().
llvm::Constant* clang::CodeGen::LValue::VectorElts |
Definition at line 202 of file CGValue.h.
Referenced by getExtVectorElts(), and MakeExtVectorElt().
llvm::Value* clang::CodeGen::LValue::VectorIdx |
Definition at line 199 of file CGValue.h.
Referenced by getMatrixIdx(), getVectorIdx(), MakeMatrixElt(), and MakeVectorElt().