|
LLVM
4.0.0
|
Union of live intervals that are strong candidates for coalescing into a single register (either physical or virtual depending on the context). More...
#include <LiveIntervalUnion.h>
Classes | |
| class | Array |
| class | Query |
| Query interferences between a single live virtual register and a live interval union. More... | |
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, const LiveRange &Range) |
| void | unify (LiveInterval &VirtReg) |
| void | extract (LiveInterval &VirtReg, const LiveRange &Range) |
| 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 99 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, |
| const LiveRange & | Range | ||
| ) |
Definition at line 57 of file LiveIntervalUnion.cpp.
References llvm::LiveRange::advanceTo(), assert(), llvm::LiveRange::begin(), llvm::LiveRange::empty(), llvm::LiveRange::end(), and llvm::IntervalMap< KeyT, ValT, N, Traits >::find().
Referenced by extract().
|
inline |
Definition at line 94 of file LiveIntervalUnion.h.
References extract().
|
inline |
Definition at line 72 of file LiveIntervalUnion.h.
References llvm::IntervalMap< KeyT, ValT, N, Traits >::find().
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 83 of file LiveIntervalUnion.cpp.
References llvm::IntervalMap< KeyT, ValT, N, Traits >::begin(), llvm::IntervalMap< SlotIndex, LiveInterval * >::const_iterator, empty(), llvm::PrintReg(), and SI.
|
inline |
Definition at line 74 of file LiveIntervalUnion.h.
References llvm::IntervalMap< KeyT, ValT, N, Traits >::start().
| void LiveIntervalUnion::unify | ( | LiveInterval & | VirtReg, |
| const LiveRange & | Range | ||
| ) |
Definition at line 30 of file LiveIntervalUnion.cpp.
References llvm::LiveRange::begin(), llvm::LiveRange::empty(), llvm::LiveRange::end(), and llvm::IntervalMap< KeyT, ValT, N, Traits >::find().
Referenced by unify().
|
inline |
Definition at line 88 of file LiveIntervalUnion.h.
References unify().
| void LiveIntervalUnion::verify | ( | LiveVirtRegBitSet & | VisitedVRegs | ) |
Definition at line 97 of file LiveIntervalUnion.cpp.
References llvm::IntervalMap< KeyT, ValT, N, Traits >::begin(), llvm::SparseBitVector< ElementSize >::set(), and SI.
1.8.6