clang
3.7.0
|
#include <CGValue.h>
Static Public Member Functions | |
static LValue | MakeAddr (llvm::Value *address, QualType type, CharUnits alignment, ASTContext &Context, llvm::MDNode *TBAAInfo=nullptr) |
static LValue | MakeVectorElt (llvm::Value *Vec, llvm::Value *Idx, QualType type, CharUnits Alignment) |
static LValue | MakeExtVectorElt (llvm::Value *Vec, llvm::Constant *Elts, QualType type, CharUnits Alignment) |
static LValue | MakeBitfield (llvm::Value *Addr, const CGBitFieldInfo &Info, QualType type, CharUnits Alignment) |
Create a new object to represent a bit-field access. More... | |
static LValue | MakeGlobalReg (llvm::Value *Reg, QualType type, CharUnits Alignment) |
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 356 of file CGValue.h.
References getAddress(), clang::CodeGen::RValue::getAggregate(), and isVolatileQualified().
Referenced by clang::CodeGen::CodeGenFunction::convertTempToRValue(), clang::CodeGen::CodeGenFunction::EmitCallArg(), and clang::CodeGen::CodeGenFunction::EmitRValueForField().
|
inline |
Definition at line 265 of file CGValue.h.
References isSimple().
Referenced by asAggregateRValue(), drillIntoBlockVariable(), EmitAggMemberInitializer(), clang::CodeGen::CodeGenFunction::EmitARCStoreStrong(), clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), clang::CodeGen::CodeGenFunction::EmitAtomicCompareExchange(), clang::CodeGen::CodeGenFunction::EmitAtomicStore(), clang::CodeGen::CodeGenFunction::EmitCallArg(), clang::CodeGen::CodeGenFunction::EmitCallExpr(), clang::CodeGen::CodeGenFunction::EmitCapturedStmt(), clang::CodeGen::CodeGenFunction::EmitCastLValue(), clang::CodeGen::CodeGenFunction::EmitCheckedLValue(), emitCPPObjectAtomicSetterCall(), clang::CodeGen::CodeGenFunction::EmitCXXConstructorCall(), clang::CodeGen::CodeGenFunction::EmitCXXMemberOrOperatorMemberCallExpr(), clang::CodeGen::CodeGenFunction::EmitCXXMemberPointerCallExpr(), clang::CodeGen::CodeGenFunction::EmitExtVectorElementExpr(), clang::CodeGen::CodeGenFunction::EmitInitializerForField(), emitLinearClauseFinal(), clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfScalar(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), clang::CodeGen::CodeGenFunction::EmitLValueForFieldInitialization(), EmitMemberInitializer(), clang::CodeGen::CodeGenFunction::EmitObjCIsaExpr(), clang::CodeGen::CodeGenFunction::EmitObjCIvarRefLValue(), emitOMPAtomicRMW(), clang::CodeGen::CodeGenFunction::EmitOMPCopyinClause(), clang::CodeGen::CodeGenFunction::EmitOMPFirstprivateClause(), clang::CodeGen::CodeGenFunction::EmitOMPLastprivateClauseInit(), clang::CodeGen::CodeGenFunction::EmitOMPReductionClauseInit(), clang::CodeGen::CodeGenFunction::EmitParmDecl(), clang::CodeGen::CodeGenFunction::EmitReferenceBindingToExpr(), clang::CodeGen::CodeGenFunction::EmitScalarInit(), clang::CodeGen::CodeGenFunction::EmitStoreOfScalar(), clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), emitStructSetterCall(), EmitTypeidFromVTable(), clang::CodeGen::CodeGenFunction::EmitUnaryOpLValue(), clang::CodeGen::CodeGenFunction::EmitVAListRef(), emitWriteback(), emitWritebackArg(), clang::CodeGen::AggValueSlot::forLValue(), clang::CodeGen::CodeGenFunction::GenerateCapturedStmtArgument(), clang::CodeGen::CodeGenFunction::generateObjCGetterBody(), clang::CodeGen::CodeGenFunction::generateObjCSetterBody(), and tryEmitARCRetainLoadOfScalar().
|
inline |
Definition at line 259 of file CGValue.h.
References clang::Qualifiers::getAddressSpace().
|
inline |
Definition at line 261 of file CGValue.h.
References clang::CharUnits::fromQuantity().
Referenced by EmitAggMemberInitializer(), clang::CodeGen::CodeGenFunction::EmitARCStoreStrong(), clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), clang::CodeGen::CodeGenFunction::EmitAtomicStore(), EmitAtomicUpdateValue(), clang::CodeGen::CodeGenFunction::EmitCallArg(), clang::CodeGen::CodeGenFunction::EmitCheckedLValue(), clang::CodeGen::CodeGenFunction::EmitExtVectorElementExpr(), clang::CodeGen::CodeGenFunction::EmitLoadOfBitfieldLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfExtVectorElementLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfScalar(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), clang::CodeGen::CodeGenFunction::EmitLValueForFieldInitialization(), emitOMPAtomicRMW(), clang::CodeGen::CodeGenFunction::EmitStoreOfScalar(), clang::CodeGen::CodeGenFunction::EmitStoreThroughBitfieldLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughExtVectorComponentLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), and clang::CodeGen::AggValueSlot::forLValue().
|
inline |
Definition at line 244 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue().
|
inline |
Definition at line 283 of file CGValue.h.
References isBitField().
Referenced by clang::CodeGen::CodeGenFunction::EmitLoadOfBitfieldLValue(), and clang::CodeGen::CodeGenFunction::EmitStoreThroughBitfieldLValue().
|
inline |
Definition at line 287 of file CGValue.h.
References BitFieldInfo, and isBitField().
Referenced by EmitAtomicUpdateValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfBitfieldLValue(), and clang::CodeGen::CodeGenFunction::EmitStoreThroughBitfieldLValue().
|
inline |
Definition at line 276 of file CGValue.h.
References isExtVectorElt().
Referenced by clang::CodeGen::CodeGenFunction::EmitExtVectorElementExpr(), clang::CodeGen::CodeGenFunction::EmitExtVectorElementLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfExtVectorElementLValue(), and clang::CodeGen::CodeGenFunction::EmitStoreThroughExtVectorComponentLValue().
|
inline |
Definition at line 277 of file CGValue.h.
References isExtVectorElt(), and VectorElts.
Referenced by EmitAtomicUpdateValue(), clang::CodeGen::CodeGenFunction::EmitExtVectorElementExpr(), clang::CodeGen::CodeGenFunction::EmitExtVectorElementLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfExtVectorElementLValue(), and clang::CodeGen::CodeGenFunction::EmitStoreThroughExtVectorComponentLValue().
|
inline |
Definition at line 293 of file CGValue.h.
References isGlobalReg().
Referenced by clang::CodeGen::CodeGenFunction::EmitLoadOfGlobalRegLValue(), and clang::CodeGen::CodeGenFunction::EmitStoreThroughGlobalRegLValue().
|
inline |
Definition at line 207 of file CGValue.h.
References clang::Qualifiers::getObjCLifetime().
Referenced by clang::CodeGen::CodeGenFunction::EmitScalarInit(), emitWriteback(), and emitWritebackArg().
|
inline |
Definition at line 256 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitDeclRefLValue(), clang::CodeGen::CodeGenFunction::EmitExtVectorElementExpr(), clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), clang::CodeGen::CGObjCRuntime::EmitValueForIvarAtOffset(), clang::CodeGen::AggValueSlot::forLValue(), and clang::CodeGen::CodeGenFunction::generateObjCGetterBody().
|
inline |
|
inline |
Definition at line 247 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitLoadOfScalar(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), and clang::CodeGen::CodeGenFunction::EmitStoreOfScalar().
|
inline |
|
inline |
Definition at line 250 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitLoadOfScalar(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), and clang::CodeGen::CodeGenFunction::EmitStoreOfScalar().
|
inline |
Definition at line 205 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitARCStoreStrong(), clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), clang::CodeGen::CodeGenFunction::EmitAtomicLoad(), clang::CodeGen::CodeGenFunction::EmitAtomicStore(), EmitAtomicUpdateValue(), clang::CodeGen::CodeGenFunction::EmitExtVectorElementLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfBitfieldLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfExtVectorElementLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfGlobalRegLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfScalar(), clang::CodeGen::CodeGenFunction::EmitLValueForField(), emitOMPAtomicRMW(), clang::CodeGen::CodeGenFunction::EmitOMPAtomicSimpleUpdateExpr(), clang::CodeGen::CodeGenFunction::EmitScalarInit(), emitSimpleStore(), clang::CodeGen::CodeGenFunction::EmitStoreOfScalar(), clang::CodeGen::CodeGenFunction::EmitStoreThroughBitfieldLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughExtVectorComponentLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughGlobalRegLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), and clang::CodeGen::CodeGenFunction::LValueIsSuitableForInlineAtomic().
|
inline |
Definition at line 272 of file CGValue.h.
References isVectorElt().
Referenced by clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), and clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue().
|
inline |
Definition at line 273 of file CGValue.h.
References isVectorElt(), and VectorIdx.
Referenced by EmitAtomicUpdateValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), and clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue().
|
inline |
Definition at line 201 of file CGValue.h.
References clang::Qualifiers::getCVRQualifiers().
Referenced by clang::CodeGen::CodeGenFunction::EmitLValueForField().
|
inline |
Definition at line 226 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitARCStoreStrong(), and emitWriteback().
|
inline |
Definition at line 195 of file CGValue.h.
Referenced by EmitAtomicUpdateValue(), clang::CodeGen::CodeGenFunction::EmitCheckedLValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), getBitFieldAddr(), and getBitFieldInfo().
|
inline |
|
inline |
Definition at line 220 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), and setObjCGCLValueClass().
|
inline |
Definition at line 197 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), clang::CodeGen::CodeGenFunction::EmitOMPAtomicSimpleUpdateExpr(), emitSimpleAtomicStore(), clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), and getGlobalReg().
|
inline |
Definition at line 217 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue().
|
inline |
Definition at line 214 of file CGValue.h.
Referenced by setObjCGCLValueClass().
|
inline |
Definition at line 211 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), and setObjCGCLValueClass().
|
inline |
Definition at line 236 of file CGValue.h.
References clang::Qualifiers::getObjCGCAttr(), and clang::Qualifiers::Strong.
Referenced by EmitDeclInit(), and clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue().
|
inline |
Definition at line 233 of file CGValue.h.
References clang::Qualifiers::getObjCGCAttr(), and clang::Qualifiers::Weak.
Referenced by EmitDeclInit(), clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), and clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue().
|
inline |
Definition at line 200 of file CGValue.h.
References clang::Qualifiers::hasRestrict().
|
inline |
Definition at line 193 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), clang::CodeGen::CodeGenFunction::EmitAtomicStore(), EmitAtomicUpdateValue(), clang::CodeGen::CodeGenFunction::EmitCallArg(), clang::CodeGen::CodeGenFunction::EmitCheckedLValue(), clang::CodeGen::CodeGenFunction::EmitExtVectorElementExpr(), clang::CodeGen::CodeGenFunction::EmitInitializerForField(), clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), emitOMPAtomicRMW(), clang::CodeGen::CodeGenFunction::EmitReferenceBindingToExpr(), clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), clang::CodeGen::CodeGenFunction::EmitUnaryOpLValue(), getAddress(), and setAddress().
|
inline |
Definition at line 223 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue().
|
inline |
Definition at line 194 of file CGValue.h.
Referenced by EmitAtomicUpdateValue(), clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue(), getVectorAddr(), and getVectorIdx().
|
inline |
Definition at line 240 of file CGValue.h.
References clang::Qualifiers::hasVolatile().
Referenced by clang::CodeGen::CodeGenFunction::EmitCallArg(), clang::CodeGen::CodeGenFunction::EmitLoadOfScalar(), emitSimpleAtomicStore(), clang::CodeGen::CodeGenFunction::EmitStoreOfScalar(), and clang::CodeGen::CodeGenFunction::LValueIsSuitableForInlineAtomic().
|
inline |
Definition at line 199 of file CGValue.h.
References clang::Qualifiers::hasVolatile().
Referenced by asAggregateRValue(), 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(), and clang::CodeGen::CodeGenFunction::EmitStoreThroughLValue().
|
inlinestatic |
Definition at line 295 of file CGValue.h.
References clang::ASTContext::getObjCGCAttrKind(), clang::QualType::getQualifiers(), and clang::Qualifiers::setObjCGCAttr().
Referenced by clang::CodeGen::CodeGenFunction::EmitAtomicExpr(), EmitAtomicUpdateValue(), clang::CodeGen::CodeGenFunction::EmitObjCCollectionLiteral(), clang::CodeGen::CodeGenFunction::MakeAddrLValue(), and clang::CodeGen::CodeGenFunction::MakeNaturalAlignAddrLValue().
|
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 335 of file CGValue.h.
References BitFieldInfo, and clang::QualType::getQualifiers().
Referenced by EmitAtomicUpdateValue(), and clang::CodeGen::CGObjCRuntime::EmitValueForIvarAtOffset().
|
inlinestatic |
Definition at line 319 of file CGValue.h.
References clang::QualType::getQualifiers(), and VectorElts.
Referenced by EmitAtomicUpdateValue().
|
inlinestatic |
Definition at line 346 of file CGValue.h.
References clang::QualType::getQualifiers().
|
inlinestatic |
Definition at line 309 of file CGValue.h.
References clang::QualType::getQualifiers(), and VectorIdx.
Referenced by EmitAtomicUpdateValue().
|
inline |
Definition at line 266 of file CGValue.h.
References isSimple().
Referenced by drillIntoBlockVariable(), EmitAggMemberInitializer(), and clang::CodeGen::CodeGenFunction::EmitScalarInit().
|
inline |
Definition at line 262 of file CGValue.h.
References clang::CharUnits::getQuantity().
Referenced by EmitAggMemberInitializer().
|
inline |
Definition at line 229 of file CGValue.h.
References clang::CodeGen::ARCImpreciseLifetime.
Referenced by clang::CodeGen::CodeGenFunction::EmitDeclRefLValue().
|
inline |
Definition at line 245 of file CGValue.h.
Referenced by setObjCGCLValueClass().
|
inline |
Definition at line 221 of file CGValue.h.
Referenced by setObjCGCLValueClass().
|
inline |
Definition at line 218 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitAutoVarInit(), and clang::CodeGen::CodeGenFunction::EmitDeclRefLValue().
|
inline |
Definition at line 215 of file CGValue.h.
Referenced by setObjCGCLValueClass().
|
inline |
Definition at line 212 of file CGValue.h.
Referenced by setObjCGCLValueClass().
|
inline |
Definition at line 248 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitLValueForField().
|
inline |
Definition at line 254 of file CGValue.h.
Referenced by EmitAtomicUpdateValue(), and clang::CodeGen::CodeGenFunction::EmitLValueForField().
|
inline |
Definition at line 251 of file CGValue.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitLValueForField().
|
inline |
Definition at line 224 of file CGValue.h.
Referenced by setObjCGCLValueClass().
const CGBitFieldInfo* clang::CodeGen::LValue::BitFieldInfo |
Definition at line 128 of file CGValue.h.
Referenced by getBitFieldInfo(), and MakeBitfield().
llvm::Constant* clang::CodeGen::LValue::VectorElts |
Definition at line 125 of file CGValue.h.
Referenced by getExtVectorElts(), and MakeExtVectorElt().
llvm::Value* clang::CodeGen::LValue::VectorIdx |
Definition at line 122 of file CGValue.h.
Referenced by getVectorIdx(), and MakeVectorElt().