LLVM 20.0.0git
Public Types | Public Member Functions | Public Attributes | List of all members
llvm::VNInfo Class Reference

VNInfo - Value Number Information. More...

#include "llvm/CodeGen/LiveInterval.h"

Public Types

using Allocator = BumpPtrAllocator
 

Public Member Functions

 VNInfo (unsigned i, SlotIndex d)
 VNInfo constructor.
 
 VNInfo (unsigned i, const VNInfo &orig)
 VNInfo constructor, copies values from orig, except for the value number.
 
void copyFrom (VNInfo &src)
 Copy from the parameter into this VNInfo.
 
bool isPHIDef () const
 Returns true if this value is defined by a PHI instruction (or was, PHI instructions may have been eliminated).
 
bool isUnused () const
 Returns true if this value is unused.
 
void markUnused ()
 Mark this value as unused.
 

Public Attributes

unsigned id
 The ID number of this value.
 
SlotIndex def
 The index of the defining instruction.
 

Detailed Description

VNInfo - Value Number Information.

This class holds information about a machine level values, including definition and use points.

Definition at line 53 of file LiveInterval.h.

Member Typedef Documentation

◆ Allocator

Definition at line 55 of file LiveInterval.h.

Constructor & Destructor Documentation

◆ VNInfo() [1/2]

llvm::VNInfo::VNInfo ( unsigned  i,
SlotIndex  d 
)
inline

VNInfo constructor.

Definition at line 64 of file LiveInterval.h.

◆ VNInfo() [2/2]

llvm::VNInfo::VNInfo ( unsigned  i,
const VNInfo orig 
)
inline

VNInfo constructor, copies values from orig, except for the value number.

Definition at line 67 of file LiveInterval.h.

Member Function Documentation

◆ copyFrom()

void llvm::VNInfo::copyFrom ( VNInfo src)
inline

Copy from the parameter into this VNInfo.

Definition at line 70 of file LiveInterval.h.

References def.

Referenced by llvm::LiveRange::MergeValueNumberInto().

◆ isPHIDef()

bool llvm::VNInfo::isPHIDef ( ) const
inline

Returns true if this value is defined by a PHI instruction (or was, PHI instructions may have been eliminated).

PHI-defs begin at a block boundary, all other defs begin at register or EC slots.

Definition at line 78 of file LiveInterval.h.

References def, and llvm::SlotIndex::isBlock().

Referenced by llvm::ConnectedVNInfoEqClasses::Classify(), llvm::ScheduleDAGMILive::computeCyclicCriticalPath(), llvm::LiveIntervalCalc::constructMainRangeFromSubranges(), isLiveThrough(), llvm::VirtRegAuxInfo::isRematerializable(), llvm::LiveRange::print(), llvm::LiveIntervals::shrinkToUses(), and stripValuesNotDefiningMask().

◆ isUnused()

bool llvm::VNInfo::isUnused ( ) const
inline

◆ markUnused()

void llvm::VNInfo::markUnused ( )
inline

Mark this value as unused.

Definition at line 84 of file LiveInterval.h.

References def.

Referenced by llvm::LiveIntervals::shrinkToUses().

Member Data Documentation

◆ def

SlotIndex llvm::VNInfo::def

◆ id

unsigned llvm::VNInfo::id

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