compiler.tree.dead-code.simple: tests and more docs
parent
baae677276
commit
6576660069
|
@ -1,6 +1,10 @@
|
||||||
USING: compiler.tree help.markup help.syntax sequences ;
|
USING: compiler.tree help.markup help.syntax kernel sequences ;
|
||||||
IN: compiler.tree.dead-code.simple
|
IN: compiler.tree.dead-code.simple
|
||||||
|
|
||||||
|
HELP: dead-flushable-call?
|
||||||
|
{ $values { "#call" #call } { "?" boolean } }
|
||||||
|
{ $description { $link t } " if the called word is flushable and none of its outputs are used." } ;
|
||||||
|
|
||||||
HELP: filter-corresponding
|
HELP: filter-corresponding
|
||||||
{ $values { "new" sequence } { "old" sequence } { "old'" sequence } }
|
{ $values { "new" sequence } { "old" sequence } { "old'" sequence } }
|
||||||
{ $description "Remove elements from 'old' if the element with the same index in 'new' is dead." } ;
|
{ $description "Remove elements from 'old' if the element with the same index in 'new' is dead." } ;
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
USING: accessors compiler.tree compiler.tree.dead-code.liveness
|
||||||
|
compiler.tree.dead-code.simple kernel math namespaces tools.test ;
|
||||||
|
IN: compiler.tree.dead-code.simple.tests
|
||||||
|
|
||||||
|
! dead-flushable-call?
|
||||||
|
{ t } [
|
||||||
|
{ } { } \ + <#call> dead-flushable-call?
|
||||||
|
] unit-test
|
||||||
|
|
||||||
|
{ f t } [
|
||||||
|
H{ { 3 t } } live-values set
|
||||||
|
{ 1 2 } { 3 } \ + <#call> dead-flushable-call?
|
||||||
|
{ 1 2 } { 77 } \ + <#call> dead-flushable-call?
|
||||||
|
] unit-test
|
||||||
|
|
||||||
|
{
|
||||||
|
f
|
||||||
|
"foo" { 3 }
|
||||||
|
} [
|
||||||
|
H{ { 3 t } } live-values set
|
||||||
|
"foo" 9 <#push> remove-dead-code*
|
||||||
|
"foo" 3 <#push> remove-dead-code* [ literal>> ] [ out-d>> ] bi
|
||||||
|
] unit-test
|
Loading…
Reference in New Issue