LLVM API Documentation
#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 Map & | getMap () |
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) |
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.
Definition at line 57 of file LiveIntervalUnion.h.
Definition at line 77 of file LiveIntervalUnion.h.
Definition at line 54 of file LiveIntervalUnion.h.
|
inlineexplicit |
Definition at line 66 of file LiveIntervalUnion.h.
Referenced by llvm::LiveIntervalUnion::Array::clear(), and llvm::LiveIntervalUnion::Array::init().
|
inline |
Definition at line 70 of file LiveIntervalUnion.h.
References llvm::IntervalMap< KeyT, ValT, N, Traits >::begin().
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().
|
inline |
Definition at line 93 of file LiveIntervalUnion.h.
References llvm::IntervalMap< KeyT, ValT, N, Traits >::clear().
Referenced by llvm::LiveIntervalUnion::Array::init().
|
inline |
Definition at line 73 of file LiveIntervalUnion.h.
References llvm::IntervalMap< KeyT, ValT, N, Traits >::empty().
Referenced by print().
|
inline |
Definition at line 71 of file LiveIntervalUnion.h.
References llvm::IntervalMap< KeyT, ValT, N, Traits >::end().
void LiveIntervalUnion::extract | ( | LiveInterval & | VirtReg | ) |
Definition at line 55 of file LiveIntervalUnion.cpp.
References llvm::LiveRange::advanceTo(), llvm::LiveRange::begin(), llvm::LiveRange::empty(), llvm::LiveRange::end(), and llvm::IntervalMap< KeyT, ValT, N, Traits >::find().
|
inline |
Definition at line 72 of file LiveIntervalUnion.h.
References llvm::IntervalMap< KeyT, ValT, N, Traits >::find().
|
inline |
Definition at line 78 of file LiveIntervalUnion.h.
|
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 |
Definition at line 81 of file LiveIntervalUnion.cpp.
References llvm::IntervalMap< KeyT, ValT, N, Traits >::begin(), llvm::IntervalMap< SlotIndex, LiveInterval * >::const_iterator, and empty().
|
inline |
Definition at line 74 of file LiveIntervalUnion.h.
References llvm::IntervalMap< KeyT, ValT, N, Traits >::start().
void LiveIntervalUnion::unify | ( | LiveInterval & | VirtReg | ) |
Definition at line 28 of file LiveIntervalUnion.cpp.
References llvm::LiveRange::begin(), llvm::LiveRange::empty(), llvm::LiveRange::end(), and llvm::IntervalMap< KeyT, ValT, N, Traits >::find().
void LiveIntervalUnion::verify | ( | LiveVirtRegBitSet & | VisitedVRegs | ) |
Definition at line 95 of file LiveIntervalUnion.cpp.
References llvm::IntervalMap< KeyT, ValT, N, Traits >::begin(), and llvm::SparseBitVector< ElementSize >::set().