LLVM 22.0.0git
|
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. | |
LLVM_ABI void | print (raw_ostream &OS) const |
LLVM_ABI void | dump () const |
Public Attributes | |
unsigned | id |
The ID number of this value. | |
SlotIndex | def |
The index of the defining instruction. |
VNInfo - Value Number Information.
This class holds information about a machine level values, including definition and use points.
Definition at line 54 of file LiveInterval.h.
Definition at line 56 of file LiveInterval.h.
VNInfo constructor.
Definition at line 65 of file LiveInterval.h.
Referenced by copyFrom(), and VNInfo().
|
inline |
Copy from the parameter into this VNInfo.
Definition at line 71 of file LiveInterval.h.
Referenced by llvm::LiveRange::MergeValueNumberInto().
LLVM_DUMP_METHOD void VNInfo::dump | ( | ) | const |
Definition at line 1050 of file LiveInterval.cpp.
References llvm::dbgs(), and LLVM_DUMP_METHOD.
|
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 79 of file LiveInterval.h.
References def.
Referenced by llvm::ConnectedVNInfoEqClasses::Classify(), llvm::ScheduleDAGMILive::computeCyclicCriticalPath(), llvm::LiveIntervalCalc::constructMainRangeFromSubranges(), isLiveThrough(), llvm::VirtRegAuxInfo::isRematerializable(), print(), llvm::LiveIntervals::shrinkToUses(), and stripValuesNotDefiningMask().
|
inline |
Returns true if this value is unused.
Definition at line 82 of file LiveInterval.h.
References def.
Referenced by llvm::ConnectedVNInfoEqClasses::Classify(), llvm::LiveIntervalCalc::constructMainRangeFromSubranges(), createSegmentsForValues(), llvm::ConnectedVNInfoEqClasses::Distribute(), llvm::SplitEditor::finish(), llvm::VirtRegAuxInfo::isRematerializable(), print(), llvm::LiveRange::RenumberValues(), llvm::LiveIntervals::shrinkToUses(), and stripValuesNotDefiningMask().
|
inline |
Mark this value as unused.
Definition at line 85 of file LiveInterval.h.
References def.
Referenced by llvm::LiveIntervals::shrinkToUses().
void VNInfo::print | ( | raw_ostream & | OS | ) | const |
Definition at line 999 of file LiveInterval.cpp.
References def, isPHIDef(), and isUnused().
Referenced by llvm::operator<<().
SlotIndex llvm::VNInfo::def |
The index of the defining instruction.
Definition at line 62 of file LiveInterval.h.
Referenced by llvm::ConnectedVNInfoEqClasses::Classify(), llvm::ScheduleDAGMILive::computeCyclicCriticalPath(), llvm::LiveIntervalCalc::constructMainRangeFromSubranges(), copyFrom(), llvm::LiveRange::createDeadDef(), createSegmentsForValues(), llvm::ConnectedVNInfoEqClasses::Distribute(), llvm::SplitEditor::enterIntvAfter(), llvm::SplitEditor::enterIntvAtEnd(), llvm::SplitEditor::enterIntvBefore(), llvm::SplitEditor::finish(), isDefInSubRange(), isPHIDef(), llvm::VirtRegAuxInfo::isRematerializable(), isUnused(), llvm::SplitEditor::leaveIntvAfter(), llvm::SplitEditor::leaveIntvAtTop(), llvm::SplitEditor::leaveIntvBefore(), markUnused(), moveAndTeeForMultiUse(), print(), llvm::LiveRange::Query(), llvm::LiveIntervals::removeVRegDefAt(), llvm::LiveIntervals::shrinkToUses(), stripValuesNotDefiningMask(), VNInfo(), and VNInfo().
unsigned llvm::VNInfo::id |
The ID number of this value.
Definition at line 59 of file LiveInterval.h.
Referenced by llvm::LiveRange::assign(), llvm::ConnectedVNInfoEqClasses::Classify(), llvm::LiveRange::containsValue(), llvm::DistributeRange(), llvm::SplitEditor::enterIntvAfter(), llvm::SplitEditor::enterIntvAtEnd(), llvm::SplitEditor::enterIntvBefore(), llvm::ConnectedVNInfoEqClasses::getEqClass(), llvm::VirtRegAuxInfo::isRematerializable(), llvm::LiveRange::join(), llvm::SplitEditor::leaveIntvAfter(), llvm::SplitEditor::leaveIntvBefore(), llvm::LiveRange::MergeValueNumberInto(), llvm::operator<<(), llvm::LiveRange::print(), llvm::LiveRange::RenumberValues(), VNInfo(), and VNInfo().