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

Methods

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)

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)

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)

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)

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)

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)

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

Declared at: clang/lib/CodeGen/CGValue.h:485

Parameters

clang::CodeGen::CodeGenFunction& CGF

clang::CodeGen::Address getAddress(
    clang::CodeGen::CodeGenFunction& CGF) const

Declared at: clang/lib/CodeGen/CGValue.h:341

Parameters

clang::CodeGen::CodeGenFunction& CGF

clang::LangAS getAddressSpace() const

Declared at: clang/lib/CodeGen/CGValue.h:328

clang::CharUnits getAlignment() const

Declared at: clang/lib/CodeGen/CGValue.h:330

clang::CodeGen::LValueBaseInfo getBaseInfo() const

Declared at: clang/lib/CodeGen/CGValue.h:333

clang::Expr* getBaseIvarExp() const

Declared at: clang/lib/CodeGen/CGValue.h:319

clang::CodeGen::Address getBitFieldAddress() const

Declared at: clang/lib/CodeGen/CGValue.h:390

const clang::CodeGen::CGBitFieldInfo&
getBitFieldInfo() const

Declared at: clang/lib/CodeGen/CGValue.h:394

llvm::Value* getBitFieldPointer() const

Declared at: clang/lib/CodeGen/CGValue.h:393

clang::CodeGen::Address getExtVectorAddress()
    const

Declared at: clang/lib/CodeGen/CGValue.h:377

llvm::Constant* getExtVectorElts() const

Declared at: clang/lib/CodeGen/CGValue.h:384

llvm::Value* getExtVectorPointer() const

Declared at: clang/lib/CodeGen/CGValue.h:380

llvm::Value* getGlobalReg() const

Declared at: clang/lib/CodeGen/CGValue.h:400

clang::CodeGen::Address getMatrixAddress() const

Declared at: clang/lib/CodeGen/CGValue.h:364

llvm::Value* getMatrixIdx() const

Declared at: clang/lib/CodeGen/CGValue.h:371

llvm::Value* getMatrixPointer() const

Declared at: clang/lib/CodeGen/CGValue.h:367

Qualifiers::ObjCLifetime getObjCLifetime() const

Declared at: clang/lib/CodeGen/CGValue.h:280

llvm::Value* getPointer(
    clang::CodeGen::CodeGenFunction& CGF) const

Declared at: clang/lib/CodeGen/CGValue.h:337

Parameters

clang::CodeGen::CodeGenFunction& CGF

clang::Qualifiers& getQuals()

Declared at: clang/lib/CodeGen/CGValue.h:326

const clang::Qualifiers& getQuals() const

Declared at: clang/lib/CodeGen/CGValue.h:325

clang::CodeGen::TBAAAccessInfo getTBAAInfo() const

Declared at: clang/lib/CodeGen/CGValue.h:322

clang::QualType getType() const

Declared at: clang/lib/CodeGen/CGValue.h:278

unsigned int getVRQualifiers() const

Declared at: clang/lib/CodeGen/CGValue.h:274

clang::CodeGen::Address getVectorAddress() const

Declared at: clang/lib/CodeGen/CGValue.h:352

llvm::Value* getVectorIdx() const

Declared at: clang/lib/CodeGen/CGValue.h:359

llvm::Value* getVectorPointer() const

Declared at: clang/lib/CodeGen/CGValue.h:355

clang::CodeGen::ARCPreciseLifetime_t
isARCPreciseLifetime() const

Declared at: clang/lib/CodeGen/CGValue.h:299

bool isBitField() const

Declared at: clang/lib/CodeGen/CGValue.h:267

bool isExtVectorElt() const

Declared at: clang/lib/CodeGen/CGValue.h:268

bool isGlobalObjCRef() const

Declared at: clang/lib/CodeGen/CGValue.h:293

bool isGlobalReg() const

Declared at: clang/lib/CodeGen/CGValue.h:269

bool isMatrixElt() const

Declared at: clang/lib/CodeGen/CGValue.h:270

bool isNonGC() const

Declared at: clang/lib/CodeGen/CGValue.h:290

bool isNontemporal() const

Declared at: clang/lib/CodeGen/CGValue.h:305

bool isObjCArray() const

Declared at: clang/lib/CodeGen/CGValue.h:287

bool isObjCIvar() const

Declared at: clang/lib/CodeGen/CGValue.h:284

bool isObjCStrong() const

Declared at: clang/lib/CodeGen/CGValue.h:311

bool isObjCWeak() const

Declared at: clang/lib/CodeGen/CGValue.h:308

bool isRestrictQualified() const

Declared at: clang/lib/CodeGen/CGValue.h:273

bool isSimple() const

Declared at: clang/lib/CodeGen/CGValue.h:265

bool isThreadLocalRef() const

Declared at: clang/lib/CodeGen/CGValue.h:296

bool isVectorElt() const

Declared at: clang/lib/CodeGen/CGValue.h:266

bool isVolatile() const

Declared at: clang/lib/CodeGen/CGValue.h:315

bool isVolatileQualified() const

Declared at: clang/lib/CodeGen/CGValue.h:272

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)

Declared at: clang/lib/CodeGen/CGValue.h:344

Parameters

clang::CodeGen::Address address

void setAlignment(clang::CharUnits A)

Declared at: clang/lib/CodeGen/CGValue.h:331

Parameters

clang::CharUnits A

void setBaseInfo(
    clang::CodeGen::LValueBaseInfo Info)

Declared at: clang/lib/CodeGen/CGValue.h:334

Parameters

clang::CodeGen::LValueBaseInfo Info

void setBaseIvarExp(clang::Expr* V)

Declared at: clang/lib/CodeGen/CGValue.h:320

Parameters

clang::Expr* V

void setGlobalObjCRef(bool Value)

Declared at: clang/lib/CodeGen/CGValue.h:294

Parameters

bool Value

void setNonGC(bool Value)

Declared at: clang/lib/CodeGen/CGValue.h:291

Parameters

bool Value

void setNontemporal(bool Value)

Declared at: clang/lib/CodeGen/CGValue.h:306

Parameters

bool Value

void setObjCArray(bool Value)

Declared at: clang/lib/CodeGen/CGValue.h:288

Parameters

bool Value

void setObjCIvar(bool Value)

Declared at: clang/lib/CodeGen/CGValue.h:285

Parameters

bool Value

void setTBAAInfo(
    clang::CodeGen::TBAAAccessInfo Info)

Declared at: clang/lib/CodeGen/CGValue.h:323

Parameters

clang::CodeGen::TBAAAccessInfo Info

void setThreadLocalRef(bool Value)

Declared at: clang/lib/CodeGen/CGValue.h:297

Parameters

bool Value