LiveRange

exclusive end doesn't prevent register from being used by another interval ranges within one interval never have rangesi.to == ranges[i+1].from When split prev range's end get's offset by 1 so [0; 10) becomes [0; 3) [4; 10) When looking if instruction is covered by range the end position is inclusive Splits must always occur on odd positions We forbid creation of [10; 10) ranges invariant: from < to [from; to)

Members

Functions

canBeMergedWith
bool canBeMergedWith(LiveRange other)
Undocumented in source. Be warned that the author may not have intended to support it.
contains
bool contains(uint pos)
Undocumented in source. Be warned that the author may not have intended to support it.
intersectsWith
bool intersectsWith(LiveRange other)
Undocumented in source. Be warned that the author may not have intended to support it.
merge
void merge(LiveRange other)
Undocumented in source. Be warned that the author may not have intended to support it.
toString
void toString(void delegate(const(char)[]) sink)
Undocumented in source. Be warned that the author may not have intended to support it.

Variables

from
uint from;
Undocumented in source.
to
uint to;
Undocumented in source.

Meta