clang 19.0.0git
Public Member Functions | Static Public Member Functions | List of all members
clang::CodeGen::RValue Class Reference

RValue - This trivial value class is used to represent the result of an expression that is evaluated. More...

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/CGValue.h"

Public Member Functions

bool isScalar () const
 
bool isComplex () const
 
bool isAggregate () const
 
bool isVolatileQualified () const
 
llvm::Value * getScalarVal () const
 getScalarVal() - Return the Value* of this scalar value.
 
std::pair< llvm::Value *, llvm::Value * > getComplexVal () const
 getComplexVal - Return the real/imag components of this complex value.
 
Address getAggregateAddress () const
 getAggregateAddr() - Return the Value* of the address of the aggregate.
 
llvm::Value * getAggregatePointer () const
 

Static Public Member Functions

static RValue getIgnored ()
 
static RValue get (llvm::Value *V)
 
static RValue getComplex (llvm::Value *V1, llvm::Value *V2)
 
static RValue getComplex (const std::pair< llvm::Value *, llvm::Value * > &C)
 
static RValue getAggregate (Address addr, bool isVolatile=false)
 

Detailed 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.

Definition at line 39 of file CGValue.h.

Member Function Documentation

◆ get()

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

◆ getAggregate()

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

◆ getAggregateAddress()

Address clang::CodeGen::RValue::getAggregateAddress ( ) const
inline

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

Definition at line 73 of file CGValue.h.

References clang::CharUnits::fromQuantity(), and isAggregate().

Referenced by clang::CodeGen::CallArg::copyInto(), and clang::CodeGen::CGObjCRuntime::destroyCalleeDestroyedArguments().

◆ getAggregatePointer()

llvm::Value * clang::CodeGen::RValue::getAggregatePointer ( ) const
inline

Definition at line 79 of file CGValue.h.

References isAggregate().

◆ getComplex() [1/2]

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

Definition at line 104 of file CGValue.h.

References clang::C, and getComplex().

◆ getComplex() [2/2]

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

Definition at line 96 of file CGValue.h.

Referenced by convertToType(), emitInitWithReductionInitializer(), and getComplex().

◆ getComplexVal()

std::pair< llvm::Value *, llvm::Value * > clang::CodeGen::RValue::getComplexVal ( ) const
inline

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

Definition at line 68 of file CGValue.h.

Referenced by convertToComplexValue(), convertToScalarValue(), clang::CodeGen::CallArg::copyInto(), and EmitAtomicUpdateValue().

◆ getIgnored()

static RValue clang::CodeGen::RValue::getIgnored ( )
inlinestatic

Definition at line 84 of file CGValue.h.

References get().

Referenced by clang::CodeGen::AggValueSlot::asRValue(), and emitSuspendExpression().

◆ getScalarVal()

llvm::Value * clang::CodeGen::RValue::getScalarVal ( ) const
inline

◆ isAggregate()

bool clang::CodeGen::RValue::isAggregate ( ) const
inline

◆ isComplex()

bool clang::CodeGen::RValue::isComplex ( ) const
inline

◆ isScalar()

bool clang::CodeGen::RValue::isScalar ( ) const
inline

◆ isVolatileQualified()

bool clang::CodeGen::RValue::isVolatileQualified ( ) const
inline

Definition at line 58 of file CGValue.h.

Referenced by clang::CodeGen::CallArg::copyInto().


The documentation for this class was generated from the following file: