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. | |
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) |
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.
llvm::LiveIntervalUnion::LiveIntervalUnion | ( | Allocator & | a | ) | [inline, explicit] |
Definition at line 66 of file LiveIntervalUnion.h.
Referenced by llvm::LiveIntervalUnion::Array::clear(), and llvm::LiveIntervalUnion::Array::init().
SegmentIter llvm::LiveIntervalUnion::begin | ( | ) | [inline] |
Definition at line 70 of file LiveIntervalUnion.h.
References llvm::IntervalMap< KeyT, ValT, N, Traits >::begin().
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] |
Definition at line 93 of file LiveIntervalUnion.h.
References llvm::IntervalMap< KeyT, ValT, N, Traits >::clear().
Referenced by llvm::LiveIntervalUnion::Array::init().
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] |
Definition at line 71 of file LiveIntervalUnion.h.
References llvm::IntervalMap< KeyT, ValT, N, Traits >::end().
void LiveIntervalUnion::extract | ( | LiveInterval & | VirtReg | ) |
Definition at line 56 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().
SegmentIter llvm::LiveIntervalUnion::find | ( | SlotIndex | x | ) | [inline] |
Definition at line 72 of file LiveIntervalUnion.h.
References llvm::IntervalMap< KeyT, ValT, N, Traits >::find().
Referenced by llvm::LiveIntervalUnion::Query::isSeenInterference().
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 |
Definition at line 82 of file LiveIntervalUnion.cpp.
References llvm::IntervalMap< KeyT, ValT, N, Traits >::begin(), llvm::IntervalMap< SlotIndex, LiveInterval * >::const_iterator, and empty().
SlotIndex llvm::LiveIntervalUnion::startIndex | ( | ) | const [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 29 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 96 of file LiveIntervalUnion.cpp.
References llvm::IntervalMap< KeyT, ValT, N, Traits >::begin(), and llvm::SparseBitVector< ElementSize >::set().