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().