LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Types | Public Member Functions | List of all members
llvm::LiveIntervalUnion Class Reference

#include <LiveIntervalUnion.h>

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. More...
 
bool changedSince (unsigned tag) const
 changedSince - Return true if the union change since getTag returned tag. More...
 
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.

Definition at line 54 of file LiveIntervalUnion.h.

Constructor & Destructor Documentation

llvm::LiveIntervalUnion::LiveIntervalUnion ( Allocator a)
inlineexplicit

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: