Eliminate some usages of locals in compiler.tree.dead-code
parent
5443217876
commit
db92c90569
|
@ -22,14 +22,11 @@ M: #call-recursive compute-live-values*
|
||||||
[ out-d>> ] [ label>> return>> in-d>> ] bi look-at-mapping ;
|
[ out-d>> ] [ label>> return>> in-d>> ] bi look-at-mapping ;
|
||||||
|
|
||||||
:: drop-dead-inputs ( inputs outputs -- #shuffle )
|
:: drop-dead-inputs ( inputs outputs -- #shuffle )
|
||||||
[let* | live-inputs [ inputs filter-live ]
|
inputs filter-live
|
||||||
new-live-inputs [ outputs inputs filter-corresponding make-values ] |
|
outputs inputs filter-corresponding make-values
|
||||||
live-inputs
|
|
||||||
new-live-inputs
|
|
||||||
outputs
|
outputs
|
||||||
inputs
|
inputs
|
||||||
drop-values
|
drop-values ;
|
||||||
] ;
|
|
||||||
|
|
||||||
M: #enter-recursive remove-dead-code*
|
M: #enter-recursive remove-dead-code*
|
||||||
[ filter-live ] change-out-d ;
|
[ filter-live ] change-out-d ;
|
||||||
|
@ -79,12 +76,12 @@ M: #call-recursive remove-dead-code*
|
||||||
bi
|
bi
|
||||||
] ;
|
] ;
|
||||||
|
|
||||||
M:: #recursive remove-dead-code* ( node -- nodes )
|
M: #recursive remove-dead-code* ( node -- nodes )
|
||||||
[let* | drop-inputs [ node drop-recursive-inputs ]
|
[ drop-recursive-inputs ]
|
||||||
drop-outputs [ node drop-recursive-outputs ] |
|
[
|
||||||
node [ (remove-dead-code) ] change-child drop
|
[ (remove-dead-code) ] change-child
|
||||||
node label>> [ filter-live ] change-enter-out drop
|
dup label>> [ filter-live ] change-enter-out drop
|
||||||
{ drop-inputs node drop-outputs }
|
]
|
||||||
] ;
|
[ drop-recursive-outputs ] tri 3array ;
|
||||||
|
|
||||||
M: #return-recursive remove-dead-code* ;
|
M: #return-recursive remove-dead-code* ;
|
||||||
|
|
Loading…
Reference in New Issue