live-interval-state
Live interval utilities

Prev:<live-interval> ( vreg -- live-interval )
Next:vreg-use


Vocabulary
compiler.cfg.linear-scan.live-intervals

Class description
A class encoding the "liveness" of a virtual register. It has the following slots:
vregThe vreg this live interval state is bound to.
regThe allocated register, set in the allocate-registers step.
spill-reprepresentation the vreg will have when it is spilled.
spill-tospill-slot to use for spilling, if it needs to be spilled.
rangesInclusive ranges where the live interval is live. This is because the [start,end] interval can have gaps.
usessequence of insn# numbers which reference insructions that use the register in the live interval.


Notes
The uses and ranges will never be empty because then the interval would be unused.

Definition


TUPLE: live-interval-state
vreg reg spill-to spill-rep reload-from reload-rep
{ ranges vector initial: V{ } }
{ uses vector initial: V{ } } ;


Methods