class LValue
Declaration
class LValue { /* full declaration omitted */ };
Description
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.
Declared at: clang/lib/CodeGen/CGValue.h:171
Member Variables
- private enum(unnamed enum at / home / hdoc / tmp / llvm - project / clang / lib / CodeGen / CGValue.h : 172 : 3) LVType
- private llvm::Value* V
- private llvm::Type* ElementType
- private anonymous struct / union
- private clang::QualType Type
- private clang::Qualifiers Quals
- private unsigned int Alignment
- private bool Ivar
- private bool ObjIsArray
- private bool NonGC
- private bool GlobalObjCRef
- private bool ThreadLocalRef
- private bool ImpreciseLifetime
- private bool Nontemporal
- private clang::CodeGen::LValueBaseInfo BaseInfo
- private clang::CodeGen::TBAAAccessInfo TBAAInfo
- private clang::Expr* BaseIvarExp
Method Overview
- private void Initialize(clang::QualType Type, clang::Qualifiers Quals, clang::CharUnits Alignment, clang::CodeGen::LValueBaseInfo BaseInfo, clang::CodeGen::TBAAAccessInfo TBAAInfo)
- public static clang::CodeGen::LValue MakeAddr(clang::CodeGen::Address address, clang::QualType type, clang::ASTContext & Context, clang::CodeGen::LValueBaseInfo BaseInfo, clang::CodeGen::TBAAAccessInfo TBAAInfo)
- public static clang::CodeGen::LValue MakeBitfield(clang::CodeGen::Address Addr, const clang::CodeGen::CGBitFieldInfo & Info, clang::QualType type, clang::CodeGen::LValueBaseInfo BaseInfo, clang::CodeGen::TBAAAccessInfo TBAAInfo)
- public static clang::CodeGen::LValue MakeExtVectorElt(clang::CodeGen::Address vecAddress, llvm::Constant * Elts, clang::QualType type, clang::CodeGen::LValueBaseInfo BaseInfo, clang::CodeGen::TBAAAccessInfo TBAAInfo)
- public static clang::CodeGen::LValue MakeGlobalReg(llvm::Value * V, clang::CharUnits alignment, clang::QualType type)
- public static clang::CodeGen::LValue MakeMatrixElt(clang::CodeGen::Address matAddress, llvm::Value * Idx, clang::QualType type, clang::CodeGen::LValueBaseInfo BaseInfo, clang::CodeGen::TBAAAccessInfo TBAAInfo)
- public static clang::CodeGen::LValue MakeVectorElt(clang::CodeGen::Address vecAddress, llvm::Value * Idx, clang::QualType type, clang::CodeGen::LValueBaseInfo BaseInfo, clang::CodeGen::TBAAAccessInfo TBAAInfo)
- public clang::CodeGen::RValue asAggregateRValue(clang::CodeGen::CodeGenFunction & CGF) const
- public clang::CodeGen::Address getAddress(clang::CodeGen::CodeGenFunction & CGF) const
- public clang::LangAS getAddressSpace() const
- public clang::CharUnits getAlignment() const
- public clang::CodeGen::LValueBaseInfo getBaseInfo() const
- public clang::Expr * getBaseIvarExp() const
- public clang::CodeGen::Address getBitFieldAddress() const
- public const clang::CodeGen::CGBitFieldInfo & getBitFieldInfo() const
- public llvm::Value * getBitFieldPointer() const
- public clang::CodeGen::Address getExtVectorAddress() const
- public llvm::Constant * getExtVectorElts() const
- public llvm::Value * getExtVectorPointer() const
- public llvm::Value * getGlobalReg() const
- public clang::CodeGen::Address getMatrixAddress() const
- public llvm::Value * getMatrixIdx() const
- public llvm::Value * getMatrixPointer() const
- public Qualifiers::ObjCLifetime getObjCLifetime() const
- public llvm::Value * getPointer(clang::CodeGen::CodeGenFunction & CGF) const
- public clang::Qualifiers & getQuals()
- public const clang::Qualifiers & getQuals() const
- public clang::CodeGen::TBAAAccessInfo getTBAAInfo() const
- public clang::QualType getType() const
- public unsigned int getVRQualifiers() const
- public clang::CodeGen::Address getVectorAddress() const
- public llvm::Value * getVectorIdx() const
- public llvm::Value * getVectorPointer() const
- public clang::CodeGen::ARCPreciseLifetime_t isARCPreciseLifetime() const
- public bool isBitField() const
- public bool isExtVectorElt() const
- public bool isGlobalObjCRef() const
- public bool isGlobalReg() const
- public bool isMatrixElt() const
- public bool isNonGC() const
- public bool isNontemporal() const
- public bool isObjCArray() const
- public bool isObjCIvar() const
- public bool isObjCStrong() const
- public bool isObjCWeak() const
- public bool isRestrictQualified() const
- public bool isSimple() const
- public bool isThreadLocalRef() const
- public bool isVectorElt() const
- public bool isVolatile() const
- public bool isVolatileQualified() const
- public void setARCPreciseLifetime(clang::CodeGen::ARCPreciseLifetime_t value)
- public void setAddress(clang::CodeGen::Address address)
- public void setAlignment(clang::CharUnits A)
- public void setBaseInfo(clang::CodeGen::LValueBaseInfo Info)
- public void setBaseIvarExp(clang::Expr * V)
- public void setGlobalObjCRef(bool Value)
- public void setNonGC(bool Value)
- public void setNontemporal(bool Value)
- public void setObjCArray(bool Value)
- public void setObjCIvar(bool Value)
- public void setTBAAInfo(clang::CodeGen::TBAAAccessInfo Info)
- public void setThreadLocalRef(bool Value)
Methods
¶void Initialize(
clang::QualType Type,
clang::Qualifiers Quals,
clang::CharUnits Alignment,
clang::CodeGen::LValueBaseInfo BaseInfo,
clang::CodeGen::TBAAAccessInfo TBAAInfo)
void Initialize(
clang::QualType Type,
clang::Qualifiers Quals,
clang::CharUnits Alignment,
clang::CodeGen::LValueBaseInfo BaseInfo,
clang::CodeGen::TBAAAccessInfo TBAAInfo)
Declared at: clang/lib/CodeGen/CGValue.h:234
Parameters
- clang::QualType Type
- clang::Qualifiers Quals
- clang::CharUnits Alignment
- clang::CodeGen::LValueBaseInfo BaseInfo
- clang::CodeGen::TBAAAccessInfo TBAAInfo
¶static clang::CodeGen::LValue MakeAddr(
clang::CodeGen::Address address,
clang::QualType type,
clang::ASTContext& Context,
clang::CodeGen::LValueBaseInfo BaseInfo,
clang::CodeGen::TBAAAccessInfo TBAAInfo)
static clang::CodeGen::LValue MakeAddr(
clang::CodeGen::Address address,
clang::QualType type,
clang::ASTContext& Context,
clang::CodeGen::LValueBaseInfo BaseInfo,
clang::CodeGen::TBAAAccessInfo TBAAInfo)
Declared at: clang/lib/CodeGen/CGValue.h:402
Parameters
- clang::CodeGen::Address address
- clang::QualType type
- clang::ASTContext& Context
- clang::CodeGen::LValueBaseInfo BaseInfo
- clang::CodeGen::TBAAAccessInfo TBAAInfo
¶static clang::CodeGen::LValue MakeBitfield(
clang::CodeGen::Address Addr,
const clang::CodeGen::CGBitFieldInfo& Info,
clang::QualType type,
clang::CodeGen::LValueBaseInfo BaseInfo,
clang::CodeGen::TBAAAccessInfo TBAAInfo)
static clang::CodeGen::LValue MakeBitfield(
clang::CodeGen::Address Addr,
const clang::CodeGen::CGBitFieldInfo& Info,
clang::QualType type,
clang::CodeGen::LValueBaseInfo BaseInfo,
clang::CodeGen::TBAAAccessInfo TBAAInfo)
Description
Create a new object to represent a bit-field access.
Declared at: clang/lib/CodeGen/CGValue.h:448
Parameters
- clang::CodeGen::Address Addr
- - The base address of the bit-field sequence this bit-field refers to.
- const clang::CodeGen::CGBitFieldInfo& Info
- - The information describing how to perform the bit-field access.
- clang::QualType type
- clang::CodeGen::LValueBaseInfo BaseInfo
- clang::CodeGen::TBAAAccessInfo TBAAInfo
¶static clang::CodeGen::LValue MakeExtVectorElt(
clang::CodeGen::Address vecAddress,
llvm::Constant* Elts,
clang::QualType type,
clang::CodeGen::LValueBaseInfo BaseInfo,
clang::CodeGen::TBAAAccessInfo TBAAInfo)
static clang::CodeGen::LValue MakeExtVectorElt(
clang::CodeGen::Address vecAddress,
llvm::Constant* Elts,
clang::QualType type,
clang::CodeGen::LValueBaseInfo BaseInfo,
clang::CodeGen::TBAAAccessInfo TBAAInfo)
Declared at: clang/lib/CodeGen/CGValue.h:429
Parameters
- clang::CodeGen::Address vecAddress
- llvm::Constant* Elts
- clang::QualType type
- clang::CodeGen::LValueBaseInfo BaseInfo
- clang::CodeGen::TBAAAccessInfo TBAAInfo
¶static clang::CodeGen::LValue MakeGlobalReg(
llvm::Value* V,
clang::CharUnits alignment,
clang::QualType type)
static clang::CodeGen::LValue MakeGlobalReg(
llvm::Value* V,
clang::CharUnits alignment,
clang::QualType type)
Declared at: clang/lib/CodeGen/CGValue.h:461
Parameters
- llvm::Value* V
- clang::CharUnits alignment
- clang::QualType type
¶static clang::CodeGen::LValue MakeMatrixElt(
clang::CodeGen::Address matAddress,
llvm::Value* Idx,
clang::QualType type,
clang::CodeGen::LValueBaseInfo BaseInfo,
clang::CodeGen::TBAAAccessInfo TBAAInfo)
static clang::CodeGen::LValue MakeMatrixElt(
clang::CodeGen::Address matAddress,
llvm::Value* Idx,
clang::QualType type,
clang::CodeGen::LValueBaseInfo BaseInfo,
clang::CodeGen::TBAAAccessInfo TBAAInfo)
Declared at: clang/lib/CodeGen/CGValue.h:472
Parameters
- clang::CodeGen::Address matAddress
- llvm::Value* Idx
- clang::QualType type
- clang::CodeGen::LValueBaseInfo BaseInfo
- clang::CodeGen::TBAAAccessInfo TBAAInfo
¶static clang::CodeGen::LValue MakeVectorElt(
clang::CodeGen::Address vecAddress,
llvm::Value* Idx,
clang::QualType type,
clang::CodeGen::LValueBaseInfo BaseInfo,
clang::CodeGen::TBAAAccessInfo TBAAInfo)
static clang::CodeGen::LValue MakeVectorElt(
clang::CodeGen::Address vecAddress,
llvm::Value* Idx,
clang::QualType type,
clang::CodeGen::LValueBaseInfo BaseInfo,
clang::CodeGen::TBAAAccessInfo TBAAInfo)
Declared at: clang/lib/CodeGen/CGValue.h:416
Parameters
- clang::CodeGen::Address vecAddress
- llvm::Value* Idx
- clang::QualType type
- clang::CodeGen::LValueBaseInfo BaseInfo
- clang::CodeGen::TBAAAccessInfo TBAAInfo
¶clang::CodeGen::RValue asAggregateRValue(
clang::CodeGen::CodeGenFunction& CGF) const
clang::CodeGen::RValue asAggregateRValue(
clang::CodeGen::CodeGenFunction& CGF) const
Declared at: clang/lib/CodeGen/CGValue.h:485
Parameters
¶clang::CodeGen::Address getAddress(
clang::CodeGen::CodeGenFunction& CGF) const
clang::CodeGen::Address getAddress(
clang::CodeGen::CodeGenFunction& CGF) const
Declared at: clang/lib/CodeGen/CGValue.h:341
Parameters
¶clang::LangAS getAddressSpace() const
clang::LangAS getAddressSpace() const
Declared at: clang/lib/CodeGen/CGValue.h:328
¶clang::CharUnits getAlignment() const
clang::CharUnits getAlignment() const
Declared at: clang/lib/CodeGen/CGValue.h:330
¶clang::CodeGen::LValueBaseInfo getBaseInfo() const
clang::CodeGen::LValueBaseInfo getBaseInfo() const
Declared at: clang/lib/CodeGen/CGValue.h:333
¶clang::Expr* getBaseIvarExp() const
clang::Expr* getBaseIvarExp() const
Declared at: clang/lib/CodeGen/CGValue.h:319
¶clang::CodeGen::Address getBitFieldAddress() const
clang::CodeGen::Address getBitFieldAddress() const
Declared at: clang/lib/CodeGen/CGValue.h:390
¶const clang::CodeGen::CGBitFieldInfo&
getBitFieldInfo() const
const clang::CodeGen::CGBitFieldInfo&
getBitFieldInfo() const
Declared at: clang/lib/CodeGen/CGValue.h:394
¶llvm::Value* getBitFieldPointer() const
llvm::Value* getBitFieldPointer() const
Declared at: clang/lib/CodeGen/CGValue.h:393
¶clang::CodeGen::Address getExtVectorAddress()
const
clang::CodeGen::Address getExtVectorAddress()
const
Declared at: clang/lib/CodeGen/CGValue.h:377
¶llvm::Constant* getExtVectorElts() const
llvm::Constant* getExtVectorElts() const
Declared at: clang/lib/CodeGen/CGValue.h:384
¶llvm::Value* getExtVectorPointer() const
llvm::Value* getExtVectorPointer() const
Declared at: clang/lib/CodeGen/CGValue.h:380
¶llvm::Value* getGlobalReg() const
llvm::Value* getGlobalReg() const
Declared at: clang/lib/CodeGen/CGValue.h:400
¶clang::CodeGen::Address getMatrixAddress() const
clang::CodeGen::Address getMatrixAddress() const
Declared at: clang/lib/CodeGen/CGValue.h:364
¶llvm::Value* getMatrixIdx() const
llvm::Value* getMatrixIdx() const
Declared at: clang/lib/CodeGen/CGValue.h:371
¶llvm::Value* getMatrixPointer() const
llvm::Value* getMatrixPointer() const
Declared at: clang/lib/CodeGen/CGValue.h:367
¶Qualifiers::ObjCLifetime getObjCLifetime() const
Qualifiers::ObjCLifetime getObjCLifetime() const
Declared at: clang/lib/CodeGen/CGValue.h:280
¶llvm::Value* getPointer(
clang::CodeGen::CodeGenFunction& CGF) const
llvm::Value* getPointer(
clang::CodeGen::CodeGenFunction& CGF) const
Declared at: clang/lib/CodeGen/CGValue.h:337
Parameters
¶clang::Qualifiers& getQuals()
clang::Qualifiers& getQuals()
Declared at: clang/lib/CodeGen/CGValue.h:326
¶const clang::Qualifiers& getQuals() const
const clang::Qualifiers& getQuals() const
Declared at: clang/lib/CodeGen/CGValue.h:325
¶clang::CodeGen::TBAAAccessInfo getTBAAInfo() const
clang::CodeGen::TBAAAccessInfo getTBAAInfo() const
Declared at: clang/lib/CodeGen/CGValue.h:322
¶clang::QualType getType() const
clang::QualType getType() const
Declared at: clang/lib/CodeGen/CGValue.h:278
¶unsigned int getVRQualifiers() const
unsigned int getVRQualifiers() const
Declared at: clang/lib/CodeGen/CGValue.h:274
¶clang::CodeGen::Address getVectorAddress() const
clang::CodeGen::Address getVectorAddress() const
Declared at: clang/lib/CodeGen/CGValue.h:352
¶llvm::Value* getVectorIdx() const
llvm::Value* getVectorIdx() const
Declared at: clang/lib/CodeGen/CGValue.h:359
¶llvm::Value* getVectorPointer() const
llvm::Value* getVectorPointer() const
Declared at: clang/lib/CodeGen/CGValue.h:355
¶clang::CodeGen::ARCPreciseLifetime_t
isARCPreciseLifetime() const
clang::CodeGen::ARCPreciseLifetime_t
isARCPreciseLifetime() const
Declared at: clang/lib/CodeGen/CGValue.h:299
¶bool isBitField() const
bool isBitField() const
Declared at: clang/lib/CodeGen/CGValue.h:267
¶bool isExtVectorElt() const
bool isExtVectorElt() const
Declared at: clang/lib/CodeGen/CGValue.h:268
¶bool isGlobalObjCRef() const
bool isGlobalObjCRef() const
Declared at: clang/lib/CodeGen/CGValue.h:293
¶bool isGlobalReg() const
bool isGlobalReg() const
Declared at: clang/lib/CodeGen/CGValue.h:269
¶bool isMatrixElt() const
bool isMatrixElt() const
Declared at: clang/lib/CodeGen/CGValue.h:270
¶bool isNonGC() const
bool isNonGC() const
Declared at: clang/lib/CodeGen/CGValue.h:290
¶bool isNontemporal() const
bool isNontemporal() const
Declared at: clang/lib/CodeGen/CGValue.h:305
¶bool isObjCArray() const
bool isObjCArray() const
Declared at: clang/lib/CodeGen/CGValue.h:287
¶bool isObjCIvar() const
bool isObjCIvar() const
Declared at: clang/lib/CodeGen/CGValue.h:284
¶bool isObjCStrong() const
bool isObjCStrong() const
Declared at: clang/lib/CodeGen/CGValue.h:311
¶bool isObjCWeak() const
bool isObjCWeak() const
Declared at: clang/lib/CodeGen/CGValue.h:308
¶bool isRestrictQualified() const
bool isRestrictQualified() const
Declared at: clang/lib/CodeGen/CGValue.h:273
¶bool isSimple() const
bool isSimple() const
Declared at: clang/lib/CodeGen/CGValue.h:265
¶bool isThreadLocalRef() const
bool isThreadLocalRef() const
Declared at: clang/lib/CodeGen/CGValue.h:296
¶bool isVectorElt() const
bool isVectorElt() const
Declared at: clang/lib/CodeGen/CGValue.h:266
¶bool isVolatile() const
bool isVolatile() const
Declared at: clang/lib/CodeGen/CGValue.h:315
¶bool isVolatileQualified() const
bool isVolatileQualified() const
Declared at: clang/lib/CodeGen/CGValue.h:272
¶void setARCPreciseLifetime(
clang::CodeGen::ARCPreciseLifetime_t value)
void setARCPreciseLifetime(
clang::CodeGen::ARCPreciseLifetime_t value)
Declared at: clang/lib/CodeGen/CGValue.h:302
Parameters
- clang::CodeGen::ARCPreciseLifetime_t value
¶void setAddress(clang::CodeGen::Address address)
void setAddress(clang::CodeGen::Address address)
Declared at: clang/lib/CodeGen/CGValue.h:344
Parameters
- clang::CodeGen::Address address
¶void setAlignment(clang::CharUnits A)
void setAlignment(clang::CharUnits A)
Declared at: clang/lib/CodeGen/CGValue.h:331
Parameters
¶void setBaseInfo(
clang::CodeGen::LValueBaseInfo Info)
void setBaseInfo(
clang::CodeGen::LValueBaseInfo Info)
Declared at: clang/lib/CodeGen/CGValue.h:334
Parameters
¶void setBaseIvarExp(clang::Expr* V)
void setBaseIvarExp(clang::Expr* V)
Declared at: clang/lib/CodeGen/CGValue.h:320
Parameters
- clang::Expr* V
¶void setGlobalObjCRef(bool Value)
void setGlobalObjCRef(bool Value)
Declared at: clang/lib/CodeGen/CGValue.h:294
Parameters
- bool Value
¶void setNonGC(bool Value)
void setNonGC(bool Value)
Declared at: clang/lib/CodeGen/CGValue.h:291
Parameters
- bool Value
¶void setNontemporal(bool Value)
void setNontemporal(bool Value)
Declared at: clang/lib/CodeGen/CGValue.h:306
Parameters
- bool Value
¶void setObjCArray(bool Value)
void setObjCArray(bool Value)
Declared at: clang/lib/CodeGen/CGValue.h:288
Parameters
- bool Value
¶void setObjCIvar(bool Value)
void setObjCIvar(bool Value)
Declared at: clang/lib/CodeGen/CGValue.h:285
Parameters
- bool Value
¶void setTBAAInfo(
clang::CodeGen::TBAAAccessInfo Info)
void setTBAAInfo(
clang::CodeGen::TBAAAccessInfo Info)
Declared at: clang/lib/CodeGen/CGValue.h:323
Parameters
¶void setThreadLocalRef(bool Value)
void setThreadLocalRef(bool Value)
Declared at: clang/lib/CodeGen/CGValue.h:297
Parameters
- bool Value