A live range covering selected lanes of a super‐register.
Synopsis
Declared in <llvm/CodeGen/LiveInterval.h>
class SubRange
: public LiveRange
Description
The LaneMask specifies which parts of the super register are covered by the interval. (
Base Classes
Name |
Description |
Represents the liveness of a register, stack slot, or similar entity. |
Types
Name |
Description |
A single continuous liveness interval for one value number. |
Type Aliases
Name |
Description |
Ordered set used temporarily while building a live range. |
|
Ordered vector of live segments. |
|
Vector of value numbers owned by this live range. |
|
Const iterator over live segments. |
|
Const iterator over value numbers. |
|
Mutable iterator over live segments. |
|
Mutable iterator over value numbers. |
Member Functions
Name |
Description |
|
Constructors |
|
|
Merge all segments from |
|
Merge segments of |
|
Merge equivalent value number |
|
Query liveness around instruction |
|
RenumberValues ‐ Renumber all values in order of appearance and remove unused values. |
|
Add segment |
|
|
|
Copy value numbers and live segments from |
|
|
|
beginIndex ‐ Return the lowest numbered slot covered. |
|
Remove all segments and value numbers from this range. |
|
Return true if this range has exactly one value number. |
|
Return true if |
|
Return true if every segment of |
|
|
|
Create a copy of |
|
Dump this subrange to the debug stream. |
|
Return true if this live range contains no segments. |
|
|
|
endNumber ‐ return the maximum point of the range of the whole, exclusive. |
|
Return true if liveness has ended by slot index |
|
|
|
|
|
Store indexes from |
|
Flush the temporary segment set into the segment vector. |
|
Create and return a new value number defined at |
|
Return the number of value numbers in this range. |
|
|
|
Return the VNInfo live at |
|
Return the VNInfo live up to but not necessarily including |
|
|
|
Return true if this range has at least one value number. |
|
Return true if any segment contains one of the provided slot indexes. |
|
Return true if this range is a single local segment between the bounds. |
|
Return true if there is an explicit undef in []`Begin,` |
|
Return true if no live segment spans an instruction. |
|
Join live range |
|
Return true if this range is live at slot index |
|
Merge the segment at |
|
|
|
Return true if this range overlaps |
|
Print this subrange to |
|
|
|
Remove all segments defined by |
|
Mark |
|
Return the number of segments in this live range. |
|
Walk the range and assert if any invariants fail to hold. |
|
|
|
|
|
|
|
Compare live ranges by their begin index. |
Data Members
Name |
Description |
Lane mask describing which parts of the super‐register are covered. |
|
Next subrange in the owning LiveInterval's singly linked list. |
|
Optional segment set used during initial live‐range construction. |
|
Liveness segments in ascending start order. |
|
Value numbers referenced by segments. |