class VPValue

Declaration

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

Declared at: llvm/lib/Transforms/Vectorize/VPlanValue.h:44

Member Variables

private const unsigned char SubclassID
Subclass identifier (for isa/dyn_cast).
private SmallVector<llvm::VPUser*, 1> Users
protected llvm::Value* UnderlyingVal
protected llvm::VPDef* Def
Pointer to the VPDef that defines this VPValue. If it is nullptr, the VPValue is not defined by any recipe modeled in VPlan.

Method Overview

Methods

VPValue(llvm::Value* UV = nullptr,
        llvm::VPDef* Def = nullptr)

Declared at: llvm/lib/Transforms/Vectorize/VPlanValue.h:115

Parameters

llvm::Value* UV = nullptr
llvm::VPDef* Def = nullptr

VPValue(const llvm::VPValue&)

Declared at: llvm/lib/Transforms/Vectorize/VPlanValue.h:117

Parameters

const llvm::VPValue&

VPValue(const unsigned char SC,
        llvm::Value* UV = nullptr,
        llvm::VPDef* Def = nullptr)

Declared at: llvm/lib/Transforms/Vectorize/VPlanValue.h:67

Parameters

const unsigned char SC
llvm::Value* UV = nullptr
llvm::VPDef* Def = nullptr

void addUser(llvm::VPUser& User)

Declared at: llvm/lib/Transforms/Vectorize/VPlanValue.h:136

Parameters

llvm::VPUser& User

void dump() const

Description

Dump the value to stderr (for debugging).

Declared at: llvm/lib/Transforms/Vectorize/VPlanValue.h:132

llvm::VPDef* getDef()

Declared at: llvm/lib/Transforms/Vectorize/VPlanValue.h:182

const llvm::VPDef* getDef() const

Declared at: llvm/lib/Transforms/Vectorize/VPlanValue.h:183

const llvm::Value* getLiveInIRValue() const

Declared at: llvm/lib/Transforms/Vectorize/VPlanValue.h:193

llvm::Value* getLiveInIRValue()

Description

Returns the underlying IR value, if this VPValue is defined outside the scope of VPlan. Returns nullptr if the VPValue is defined by a VPDef inside a VPlan.

Declared at: llvm/lib/Transforms/Vectorize/VPlanValue.h:188

unsigned int getNumUsers() const

Declared at: llvm/lib/Transforms/Vectorize/VPlanValue.h:135

llvm::Value* getUnderlyingValue()

Description

Return the underlying Value attached to this VPValue.

Declared at: llvm/lib/Transforms/Vectorize/VPlanValue.h:84

const llvm::Value* getUnderlyingValue() const

Declared at: llvm/lib/Transforms/Vectorize/VPlanValue.h:85

unsigned int getVPValueID() const

Declared at: llvm/lib/Transforms/Vectorize/VPlanValue.h:125

Returns

an ID for the concrete type of this object. This is used to implement the classof checks. This should not be used for any other purpose, as the values may change as LLVM evolves.

bool hasMoreThanOneUniqueUser()

Description

Returns true if the value has more than one unique user.

Declared at: llvm/lib/Transforms/Vectorize/VPlanValue.h:169

void print(llvm::raw_ostream& OS,
           llvm::VPSlotTracker& Tracker) const

Declared at: llvm/lib/Transforms/Vectorize/VPlanValue.h:129

Parameters

llvm::raw_ostream& OS
llvm::VPSlotTracker& Tracker

void printAsOperand(
    llvm::raw_ostream& OS,
    llvm::VPSlotTracker& Tracker) const

Declared at: llvm/lib/Transforms/Vectorize/VPlanValue.h:128

Parameters

llvm::raw_ostream& OS
llvm::VPSlotTracker& Tracker

void removeUser(llvm::VPUser& User)

Description

Remove a single \p User from the list of users.

Declared at: llvm/lib/Transforms/Vectorize/VPlanValue.h:139

Parameters

llvm::VPUser& User

void replaceAllUsesWith(llvm::VPValue* New)

Declared at: llvm/lib/Transforms/Vectorize/VPlanValue.h:180

Parameters

llvm::VPValue* New

void setUnderlyingValue(llvm::Value* Val)

Declared at: llvm/lib/Transforms/Vectorize/VPlanValue.h:77

Parameters

llvm::Value* Val

llvm::VPValue::const_user_iterator user_begin()
    const

Declared at: llvm/lib/Transforms/Vectorize/VPlanValue.h:160

llvm::VPValue::user_iterator user_begin()

Declared at: llvm/lib/Transforms/Vectorize/VPlanValue.h:159

llvm::VPValue::const_user_iterator user_end()
    const

Declared at: llvm/lib/Transforms/Vectorize/VPlanValue.h:162

llvm::VPValue::user_iterator user_end()

Declared at: llvm/lib/Transforms/Vectorize/VPlanValue.h:161

llvm::VPValue::user_range users()

Declared at: llvm/lib/Transforms/Vectorize/VPlanValue.h:163

llvm::VPValue::const_user_range users() const

Declared at: llvm/lib/Transforms/Vectorize/VPlanValue.h:164

virtual ~VPValue()

Declared at: llvm/lib/Transforms/Vectorize/VPlanValue.h:120