compiler.cfg.linear-scan: code cleanup
parent
0bcf4ce535
commit
43c873f00a
|
@ -44,9 +44,7 @@ ERROR: bad-live-ranges interval ;
|
||||||
dup vreg>> assign-spill-slot >>reload-from drop ;
|
dup vreg>> assign-spill-slot >>reload-from drop ;
|
||||||
|
|
||||||
: split-and-spill ( live-interval n -- before after )
|
: split-and-spill ( live-interval n -- before after )
|
||||||
split-for-spill
|
split-for-spill 2dup [ assign-spill ] [ assign-reload ] bi* ;
|
||||||
[ [ assign-spill ] [ assign-reload ] bi* ]
|
|
||||||
[ [ t >>record-spill? ] [ t >>record-reload? ] bi* ] 2bi ;
|
|
||||||
|
|
||||||
: find-use-position ( live-interval new -- n )
|
: find-use-position ( live-interval new -- n )
|
||||||
[ uses>> ] [ start>> '[ _ >= ] ] bi* find nip 1/0. or ;
|
[ uses>> ] [ start>> '[ _ >= ] ] bi* find nip 1/0. or ;
|
||||||
|
@ -80,7 +78,6 @@ ERROR: bad-live-ranges interval ;
|
||||||
{ [ [ drop reg>> ] dip = ] [ drop intervals-intersect? ] } 3&& ;
|
{ [ [ drop reg>> ] dip = ] [ drop intervals-intersect? ] } 3&& ;
|
||||||
|
|
||||||
: split-live-out ( live-interval -- )
|
: split-live-out ( live-interval -- )
|
||||||
f >>record-spill?
|
|
||||||
{
|
{
|
||||||
[ trim-before-ranges ]
|
[ trim-before-ranges ]
|
||||||
[ compute-start/end ]
|
[ compute-start/end ]
|
||||||
|
@ -89,11 +86,10 @@ ERROR: bad-live-ranges interval ;
|
||||||
} cleave ;
|
} cleave ;
|
||||||
|
|
||||||
: split-live-in ( live-interval -- )
|
: split-live-in ( live-interval -- )
|
||||||
f >>record-reload?
|
|
||||||
{
|
{
|
||||||
[ trim-after-ranges ]
|
[ trim-after-ranges ]
|
||||||
[ compute-start/end ]
|
[ compute-start/end ]
|
||||||
! [ assign-reload ]
|
[ assign-reload ]
|
||||||
[ add-handled ]
|
[ add-handled ]
|
||||||
} cleave ;
|
} cleave ;
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ C: <live-range> live-range
|
||||||
|
|
||||||
TUPLE: live-interval
|
TUPLE: live-interval
|
||||||
vreg
|
vreg
|
||||||
reg spill-to record-spill? reload-from record-reload?
|
reg spill-to reload-from
|
||||||
split-before split-after split-next
|
split-before split-after split-next
|
||||||
start end ranges uses
|
start end ranges uses
|
||||||
copy-from ;
|
copy-from ;
|
||||||
|
|
Loading…
Reference in New Issue