Parents: | compiler.cfg.linear-scan |
Class | Superclass | Slots |
bad-live-interval | tuple | live-interval |
live-interval-state | tuple | vreg reg spill-to spill-rep reload-from reload-rep ranges uses |
sync-point | tuple | n keep-dst? |
vreg-use | tuple | n def-rep use-rep spill-slot? |
clobber-insn |
hairy-clobber-insn |
Word | Stack effect |
compute-live-intervals* | ( insn -- ) |
insn>sync-point | ( insn -- sync-point/f ) |
from |
live-intervals |
to |
Word | Stack effect |
(add-use) | ( insn# live-interval spill-slot? -- use ) |
(find-use) | ( insn# live-interval -- vreg-use ) |
<live-interval> | ( vreg -- live-interval ) |
<vreg-use> | ( n -- vreg-use ) |
bad-live-interval | ( live-interval -- * ) |
block-from | ( bb -- n ) |
block-to | ( bb -- n ) |
cfg>live-intervals | ( cfg -- live-intervals ) |
cfg>sync-points | ( cfg -- sync-points ) |
check-start | ( live-interval -- ) |
compute-live-intervals | ( cfg -- intervals/sync-points ) |
compute-live-intervals-step | ( bb -- ) |
find-use | ( insn# live-interval -- vreg-use/f ) |
finish-live-interval | ( live-interval -- ) |
first-use | ( live-interval -- use ) |
handle-live-out | ( bb -- ) |
intersect-intervals | ( interval1 interval2 -- n/f ) |
interval-reg-class | ( live-interval -- reg-class ) |
intervals-intersect? | ( interval1 interval2 -- ? ) |
last-use | ( live-interval -- use ) |
last-use? | ( insn# uses -- use/f ) |
live-interval-end | ( live-interval -- n ) |
live-interval-start | ( live-interval -- n ) |
new-use | ( insn# uses -- use ) |
record-def | ( vreg n spill-slot? -- ) |
record-temp | ( vreg n -- ) |
record-use | ( vreg n spill-slot? -- ) |
uses-vregs* | ( insn -- seq ) |
vreg>live-interval | ( vreg -- live-interval ) |
Word | Stack effect |
bad-live-interval? | ( object -- ? ) |
clobber-insn? | ( object -- ? ) |
hairy-clobber-insn? | ( object -- ? ) |
live-interval-state? | ( object -- ? ) |
sync-point? | ( object -- ? ) |
vreg-use? | ( object -- ? ) |