LLVM API Documentation

llvm::V9LiveRange Class Reference

#include <LiveRange.h>

Collaboration diagram for llvm::V9LiveRange:

Collaboration graph
[legend]
List of all members.

Public Types

typedef SetVector< const Value * > ValueContainerType
typedef ValueContainerType::iterator iterator
typedef ValueContainerType::const_iterator const_iterator

Public Member Functions

iterator begin ()
const_iterator begin () const
iterator end ()
const_iterator end () const
bool insert (const Value *&X)
void insert (iterator b, iterator e)
 V9LiveRange ()
void setRegClass (RegClass *RC)
RegClassgetRegClass () const
unsigned getRegClassID () const
bool hasColor () const
unsigned getColor () const
void setColor (unsigned Col)
void setCallInterference ()
void clearCallInterference ()
bool isCallInterference () const
void markForSpill ()
bool isMarkedForSpill () const
void setSpillOffFromFP (int StackOffset)
void modifySpillOffFromFP (int StackOffset)
bool hasSpillOffset () const
int getSpillOffFromFP () const
void setUserIGNode (IGNode *IGN)
IGNodegetUserIGNode () const
const TypegetType () const
void setSuggestedColor (int Col)
unsigned getSuggestedColor () const
bool hasSuggestedColor () const
bool isSuggestedColorUsable () const
void setSuggestedColorUsable (bool val)
void addSpillCost (unsigned cost)
unsigned getSpillCost () const

Detailed Description

Definition at line 27 of file LiveRange.h.


Member Typedef Documentation

typedef ValueContainerType::const_iterator llvm::V9LiveRange::const_iterator

Definition at line 31 of file LiveRange.h.

typedef ValueContainerType::iterator llvm::V9LiveRange::iterator

Definition at line 30 of file LiveRange.h.

typedef SetVector<const Value *> llvm::V9LiveRange::ValueContainerType

Definition at line 29 of file LiveRange.h.


Constructor & Destructor Documentation

llvm::V9LiveRange::V9LiveRange (  )  [inline]

Definition at line 85 of file LiveRange.h.


Member Function Documentation

void llvm::V9LiveRange::addSpillCost ( unsigned  cost  )  [inline]

Definition at line 178 of file LiveRange.h.

const_iterator llvm::V9LiveRange::begin (  )  const [inline]

Definition at line 79 of file LiveRange.h.

References llvm::SetVector< T >::begin().

iterator llvm::V9LiveRange::begin (  )  [inline]

Definition at line 78 of file LiveRange.h.

References llvm::SetVector< T >::begin().

Referenced by llvm::SparcV9IntCCRegClass::colorIGNode(), getType(), and llvm::LiveRangeInfo::~LiveRangeInfo().

void llvm::V9LiveRange::clearCallInterference (  )  [inline]

Definition at line 110 of file LiveRange.h.

const_iterator llvm::V9LiveRange::end (  )  const [inline]

Definition at line 81 of file LiveRange.h.

References llvm::SetVector< T >::end().

iterator llvm::V9LiveRange::end (  )  [inline]

Definition at line 80 of file LiveRange.h.

References llvm::SetVector< T >::end().

Referenced by llvm::SparcV9IntCCRegClass::colorIGNode(), and llvm::LiveRangeInfo::~LiveRangeInfo().

unsigned llvm::V9LiveRange::getColor (  )  const [inline]

Definition at line 103 of file LiveRange.h.

Referenced by llvm::SparcV9FloatRegClass::colorIGNode(), llvm::IGNode::getColor(), llvm::InterfsPreventCoalescing(), and llvm::SparcV9RegInfo::printReg().

RegClass* llvm::V9LiveRange::getRegClass (  )  const [inline]

Definition at line 98 of file LiveRange.h.

Referenced by llvm::LiveRangeInfo::coalesceLRs(), and getRegClassID().

unsigned llvm::V9LiveRange::getRegClassID (  )  const

Definition at line 30 of file LiveRangeInfo.cpp.

References llvm::RegClass::getID(), and getRegClass().

Referenced by llvm::SparcV9RegInfo::getRegTypeForLR(), and llvm::SparcV9RegInfo::printReg().

unsigned llvm::V9LiveRange::getSpillCost (  )  const [inline]

Definition at line 182 of file LiveRange.h.

int llvm::V9LiveRange::getSpillOffFromFP (  )  const [inline]

Definition at line 138 of file LiveRange.h.

unsigned llvm::V9LiveRange::getSuggestedColor (  )  const [inline]

Definition at line 159 of file LiveRange.h.

Referenced by llvm::SparcV9FloatRegClass::colorIGNode(), and llvm::SparcV9IntRegClass::colorIGNode().

const Type* llvm::V9LiveRange::getType (  )  const [inline]

Definition at line 150 of file LiveRange.h.

References begin().

Referenced by llvm::SparcV9FloatRegClass::colorIGNode(), llvm::SparcV9RegInfo::getRegTypeForLR(), and llvm::SparcV9RegInfo::printReg().

IGNode* llvm::V9LiveRange::getUserIGNode (  )  const [inline]

Definition at line 148 of file LiveRange.h.

Referenced by llvm::LiveRangeInfo::coalesceLRs(), llvm::InterferenceGraph::getInterference(), llvm::InterferesWithColor(), llvm::InterferenceGraph::mergeIGNodesOfLRs(), and llvm::InterferenceGraph::setInterference().

bool llvm::V9LiveRange::hasColor (  )  const [inline]

Definition at line 101 of file LiveRange.h.

Referenced by llvm::SparcV9FloatRegClass::colorIGNode(), llvm::IGNode::hasColor(), llvm::InterfsPreventCoalescing(), and llvm::SparcV9RegInfo::printReg().

bool llvm::V9LiveRange::hasSpillOffset (  )  const [inline]

Definition at line 134 of file LiveRange.h.

bool llvm::V9LiveRange::hasSuggestedColor (  )  const [inline]

Definition at line 164 of file LiveRange.h.

Referenced by llvm::SparcV9FloatRegClass::colorIGNode(), llvm::SparcV9IntRegClass::colorIGNode(), llvm::InterfsPreventCoalescing(), isSuggestedColorUsable(), and setSuggestedColorUsable().

void llvm::V9LiveRange::insert ( iterator  b,
iterator  e 
) [inline]

Definition at line 83 of file LiveRange.h.

References llvm::SetVector< T >::insert().

bool llvm::V9LiveRange::insert ( const Value *&  X  )  [inline]

Definition at line 82 of file LiveRange.h.

References llvm::SetVector< T >::insert(), and llvm::X.

bool llvm::V9LiveRange::isCallInterference (  )  const [inline]

Definition at line 114 of file LiveRange.h.

Referenced by llvm::SparcV9FloatRegClass::colorIGNode(), and llvm::SparcV9IntRegClass::colorIGNode().

bool llvm::V9LiveRange::isMarkedForSpill (  )  const [inline]

Definition at line 120 of file LiveRange.h.

bool llvm::V9LiveRange::isSuggestedColorUsable (  )  const [inline]

Definition at line 168 of file LiveRange.h.

References hasSuggestedColor().

Referenced by llvm::SparcV9IntRegClass::colorIGNode().

void llvm::V9LiveRange::markForSpill (  )  [inline]

Definition at line 118 of file LiveRange.h.

Referenced by llvm::SparcV9FloatRegClass::colorIGNode(), and llvm::SparcV9IntRegClass::colorIGNode().

void llvm::V9LiveRange::modifySpillOffFromFP ( int  StackOffset  )  [inline]

Definition at line 128 of file LiveRange.h.

void llvm::V9LiveRange::setCallInterference (  )  [inline]

Definition at line 107 of file LiveRange.h.

void llvm::V9LiveRange::setColor ( unsigned  Col  )  [inline]

Definition at line 105 of file LiveRange.h.

Referenced by llvm::SparcV9FloatRegClass::colorIGNode(), llvm::SparcV9IntRegClass::colorIGNode(), llvm::LiveRangeInfo::constructLiveRanges(), and llvm::IGNode::setColor().

void llvm::V9LiveRange::setRegClass ( RegClass RC  )  [inline]

Definition at line 96 of file LiveRange.h.

References RC.

void llvm::V9LiveRange::setSpillOffFromFP ( int  StackOffset  )  [inline]

Definition at line 122 of file LiveRange.h.

void llvm::V9LiveRange::setSuggestedColor ( int  Col  )  [inline]

Definition at line 154 of file LiveRange.h.

Referenced by llvm::SparcV9RegInfo::suggestRegs4CallArgs().

void llvm::V9LiveRange::setSuggestedColorUsable ( bool  val  )  [inline]

Definition at line 173 of file LiveRange.h.

References hasSuggestedColor().

void llvm::V9LiveRange::setUserIGNode ( IGNode IGN  )  [inline]

Definition at line 143 of file LiveRange.h.

Referenced by llvm::IGNode::IGNode().


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