25 lines
		
	
	
		
			856 B
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			856 B
		
	
	
	
		
			Factor
		
	
	
| USING: arrays help.markup help.syntax math sequences ;
 | |
| IN: compiler.cfg.linear-scan.ranges
 | |
| 
 | |
| 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." } ;
 | |
| 
 | |
| HELP: intersect-range
 | |
| { $values
 | |
|   { "r1" pair }
 | |
|   { "r2" pair }
 | |
|   { "n/f" { $link number } " or " { $link f } }
 | |
| }
 | |
| { $description "First index for the ranges intersection, or f if they don't intersect." } ;
 | |
| 
 | |
| ARTICLE: "compiler.cfg.linear-scan.ranges" "Live ranges utilities"
 | |
| "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."
 | |
| $nl
 | |
| "Range splitting:"
 | |
| { $subsections
 | |
|   split-range split-ranges
 | |
| } ;
 | |
| 
 | |
| ABOUT: "compiler.cfg.linear-scan.ranges"
 |