Fix an oversight on def-use analysis
parent
8e847749ce
commit
3a0ad7a0f5
|
@ -44,6 +44,8 @@ M: #introduce node-defs-values values>> ;
|
|||
|
||||
M: #>r node-defs-values out-r>> ;
|
||||
|
||||
M: #phi node-defs-values [ out-d>> ] [ out-r>> ] bi append ;
|
||||
|
||||
M: node node-defs-values out-d>> ;
|
||||
|
||||
: node-def-use ( node -- )
|
||||
|
|
|
@ -220,3 +220,15 @@ IN: compiler.tree.propagation.tests
|
|||
[ V{ fixnum } ] [
|
||||
[ >fixnum dup 100 < [ 1+ ] [ "Oops" throw ] if ] final-classes
|
||||
] unit-test
|
||||
|
||||
[ V{ -1 } ] [
|
||||
[ 0 dup 100 < not [ 1+ ] [ 1- ] if ] final-literals
|
||||
] unit-test
|
||||
|
||||
[ V{ fixnum } ] [
|
||||
[ [ 1 >r ] [ 2 >r ] if r> 3 + ] final-classes
|
||||
] unit-test
|
||||
|
||||
[ V{ 2 } ] [
|
||||
[ [ 1 ] [ 1 ] if 1 + ] final-literals
|
||||
] unit-test
|
||||
|
|
Loading…
Reference in New Issue