LLVM API Documentation

Classes | Public Types | Public Member Functions
llvm::LiveIntervalUnion Class Reference

#include <LiveIntervalUnion.h>

List of all members.

Classes

class  Array
class  Query

Public Types

typedef LiveSegments::iterator SegmentIter
typedef LiveSegments::Allocator Allocator
typedef LiveSegments Map

Public Member Functions

 LiveIntervalUnion (Allocator &a)
SegmentIter begin ()
SegmentIter end ()
SegmentIter find (SlotIndex x)
bool empty () const
SlotIndex startIndex () const
const MapgetMap ()
unsigned getTag () const
 getTag - Return an opaque tag representing the current state of the union.
bool changedSince (unsigned tag) const
 changedSince - Return true if the union change since getTag returned tag.
void unify (LiveInterval &VirtReg)
void extract (LiveInterval &VirtReg)
void clear ()
void print (raw_ostream &OS, const TargetRegisterInfo *TRI) const
void verify (LiveVirtRegBitSet &VisitedVRegs)

Detailed Description

Union of live intervals that are strong candidates for coalescing into a single register (either physical or virtual depending on the context). We expect the constituent live intervals to be disjoint, although we may eventually make exceptions to handle value-based interference.

Definition at line 44 of file LiveIntervalUnion.h.


Member Typedef Documentation

Definition at line 57 of file LiveIntervalUnion.h.

Definition at line 77 of file LiveIntervalUnion.h.

typedef LiveSegments::iterator llvm::LiveIntervalUnion::SegmentIter

Definition at line 54 of file LiveIntervalUnion.h.


Constructor & Destructor Documentation

llvm::LiveIntervalUnion::LiveIntervalUnion ( Allocator a) [inline, explicit]

Member Function Documentation

SegmentIter llvm::LiveIntervalUnion::begin ( ) [inline]
bool llvm::LiveIntervalUnion::changedSince ( unsigned  tag) const [inline]

changedSince - Return true if the union change since getTag returned tag.

Definition at line 84 of file LiveIntervalUnion.h.

Referenced by llvm::LiveIntervalUnion::Query::init().

void llvm::LiveIntervalUnion::clear ( ) [inline]
bool llvm::LiveIntervalUnion::empty ( ) const [inline]

Definition at line 73 of file LiveIntervalUnion.h.

References llvm::IntervalMap< KeyT, ValT, N, Traits >::empty().

Referenced by print().

SegmentIter llvm::LiveIntervalUnion::end ( ) [inline]
void LiveIntervalUnion::extract ( LiveInterval VirtReg)
SegmentIter llvm::LiveIntervalUnion::find ( SlotIndex  x) [inline]
const Map& llvm::LiveIntervalUnion::getMap ( ) [inline]

Definition at line 78 of file LiveIntervalUnion.h.

unsigned llvm::LiveIntervalUnion::getTag ( ) const [inline]

getTag - Return an opaque tag representing the current state of the union.

Definition at line 81 of file LiveIntervalUnion.h.

Referenced by llvm::LiveIntervalUnion::Query::init().

void LiveIntervalUnion::print ( raw_ostream OS,
const TargetRegisterInfo TRI 
) const
SlotIndex llvm::LiveIntervalUnion::startIndex ( ) const [inline]
void LiveIntervalUnion::unify ( LiveInterval VirtReg)
void LiveIntervalUnion::verify ( LiveVirtRegBitSet VisitedVRegs)

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