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
- public static clang::CodeGen::RValue get(llvm::Value * V)
- public static clang::CodeGen::RValue getAggregate(clang::CodeGen::Address addr, bool isVolatile = false)
- public clang::CodeGen::Address getAggregateAddress() const
- public llvm::Value * getAggregatePointer() const
- public static clang::CodeGen::RValue getComplex(llvm::Value * V1, llvm::Value * V2)
- public static clang::CodeGen::RValue getComplex(const std::pair<llvm::Value *, llvm::Value *> & C)
- public std::pair<llvm::Value *, llvm::Value *> getComplexVal() const
- public static clang::CodeGen::RValue getIgnored()
- public llvm::Value * getScalarVal() const
- public bool isAggregate() const
- public bool isComplex() const
- public bool isScalar() const
- public bool isVolatileQualified() const
Methods
¶static clang::CodeGen::RValue get(llvm::Value* V)
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)
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
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
llvm::Value* getAggregatePointer() const
Declared at: clang/lib/CodeGen/CGValue.h:79
¶static clang::CodeGen::RValue getComplex(
llvm::Value* V1,
llvm::Value* V2)
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)
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
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()
static clang::CodeGen::RValue getIgnored()
Declared at: clang/lib/CodeGen/CGValue.h:84
¶llvm::Value* getScalarVal() const
llvm::Value* getScalarVal() const
Description
getScalarVal() - Return the Value* of this scalar value.
Declared at: clang/lib/CodeGen/CGValue.h:61
¶bool isAggregate() const
bool isAggregate() const
Declared at: clang/lib/CodeGen/CGValue.h:56
¶bool isComplex() const
bool isComplex() const
Declared at: clang/lib/CodeGen/CGValue.h:55
¶bool isScalar() const
bool isScalar() const
Declared at: clang/lib/CodeGen/CGValue.h:54
¶bool isVolatileQualified() const
bool isVolatileQualified() const
Declared at: clang/lib/CodeGen/CGValue.h:58