2015-09-16 01:53:48 -04:00
USING: arrays help.markup help.syntax math sequences ;
2015-09-13 12:02:01 -04:00
IN: compiler.cfg.linear-scan.ranges
2015-09-16 01:53:48 -04:00
HELP: add-range
{ $values { "from" integer } { "to" integer } { "ranges" sequence } }
{ $description "Adds the given range to the 'ranges' sequence, or extends the last range of it if it is possible." } ;
2015-09-13 22:43:58 -04:00
HELP: intersect-range
{ $values
2015-09-22 00:52:04 -04:00
{ "r1" pair }
{ "r2" pair }
2015-09-13 22:43:58 -04:00
{ "n/f" { $link number } " or " { $link f } }
}
{ $description "First index for the ranges intersection, or f if they don't intersect." } ;
2015-09-13 12:02:01 -04:00
ARTICLE: "compiler.cfg.linear-scan.ranges" "Live ranges utilities"
2015-09-15 20:14:06 -04:00
"Utilities for dealing with the live range part of live intervals. A sequence of integer 2-tuples encodes the closed intervals in the cfg where a virtual register is live."
2015-09-13 12:02:01 -04:00
$nl
2015-09-15 20:14:06 -04:00
"Range splitting:"
{ $subsections
split-range split-ranges
} ;
2015-09-13 12:02:01 -04:00
ABOUT: "compiler.cfg.linear-scan.ranges"