LLVM API Documentation

Public Member Functions
llvm::LiveQueryResult Class Reference

#include <LiveInterval.h>

List of all members.

Public Member Functions

 LiveQueryResult (VNInfo *EarlyVal, VNInfo *LateVal, SlotIndex EndPoint, bool Kill)
VNInfovalueIn () const
bool isKill () const
bool isDeadDef () const
 Return true if this instruction has a dead def.
VNInfovalueOut () const
VNInfovalueDefined () const
SlotIndex endPoint () const

Detailed Description

Result of a LiveRange query. This class hides the implementation details of live ranges, and it should be used as the primary interface for examining live ranges around instructions.

Definition at line 85 of file LiveInterval.h.


Constructor & Destructor Documentation

llvm::LiveQueryResult::LiveQueryResult ( VNInfo EarlyVal,
VNInfo LateVal,
SlotIndex  EndPoint,
bool  Kill 
) [inline]

Definition at line 92 of file LiveInterval.h.


Member Function Documentation

Return the end point of the last live range segment to interact with the instruction, if any.

The end point is an invalid SlotIndex only if the live range doesn't intersect the instruction at all.

The end point may be at or past the end of the instruction's basic block. That means the value was live out of the block.

Definition at line 136 of file LiveInterval.h.

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

Return true if this instruction has a dead def.

Definition at line 112 of file LiveInterval.h.

References llvm::SlotIndex::isDead().

Referenced by llvm::RegPressureTracker::bumpUpwardPressure(), llvm::RegPressureTracker::recede(), and valueOut().

bool llvm::LiveQueryResult::isKill ( ) const [inline]

Return true if the live-in value is killed by this instruction. This means that either the live range ends at the instruction, or it changes value.

Definition at line 107 of file LiveInterval.h.

Referenced by llvm::RegPressureTracker::advance(), llvm::RegPressureTracker::bumpDownwardPressure(), and llvm::RegPressureTracker::recede().

Return the value defined by this instruction, if any. This includes dead defs, it is the value created by the instruction's def operands.

Definition at line 124 of file LiveInterval.h.

Referenced by llvm::ConnectedVNInfoEqClasses::Distribute(), llvm::RegPressureTracker::recede(), and llvm::LiveIntervals::shrinkToUses().

Return the value that is live-in to the instruction. This is the value that will be read by the instruction's use operands. Return NULL if no value is live-in.

Definition at line 100 of file LiveInterval.h.

Referenced by llvm::ScheduleDAGInstrs::addVRegUseDeps(), llvm::ScheduleDAGMILive::computeCyclicCriticalPath(), llvm::ConnectedVNInfoEqClasses::Distribute(), llvm::LiveIntervals::pruneValue(), llvm::LiveIntervals::shrinkToUses(), and llvm::ScheduleDAGMILive::updatePressureDiffs().

Return the value leaving the instruction, if any. This can be a live-through value, or a live def. A dead def returns NULL.

Definition at line 118 of file LiveInterval.h.

References isDeadDef().

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


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