class RValue

Declaration

class RValue { /* full declaration omitted */ };

Description

RValue - This trivial value class is used to represent the result of an expression that is evaluated. It can be one of three things: either a simple LLVM SSA value, a pair of SSA values for complex numbers, or the address of an aggregate value in memory.

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

Member Variables

private llvm::PointerIntPair<llvm::Value*, 2, Flavor> V1
private llvm::PointerIntPair<llvm::Value*, 1, bool> V2
private llvm::Type* ElementType

Method Overview

Methods

static clang::CodeGen::RValue get(llvm::Value* V)

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

Parameters

llvm::Value* V

static clang::CodeGen::RValue getAggregate(
    clang::CodeGen::Address addr,
    bool isVolatile = false)

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

Parameters

clang::CodeGen::Address addr
bool isVolatile = false

clang::CodeGen::Address getAggregateAddress()
    const

Description

getAggregateAddr() - Return the Value* of the address of the aggregate.

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

llvm::Value* getAggregatePointer() const

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

static clang::CodeGen::RValue getComplex(
    llvm::Value* V1,
    llvm::Value* V2)

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

Parameters

llvm::Value* V1
llvm::Value* V2

static clang::CodeGen::RValue getComplex(
    const std::pair<llvm::Value*, llvm::Value*>&
        C)

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

Parameters

const std::pair<llvm::Value*, llvm::Value*>& C

std::pair<llvm::Value*, llvm::Value*>
getComplexVal() const

Description

getComplexVal - Return the real/imag components of this complex value.

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

static clang::CodeGen::RValue getIgnored()

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

llvm::Value* getScalarVal() const

Description

getScalarVal() - Return the Value* of this scalar value.

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

bool isAggregate() const

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

bool isComplex() const

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

bool isScalar() const

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

bool isVolatileQualified() const

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