compiler.cfg.checker: run if a variable is set

db4
Slava Pestov 2009-06-05 17:32:12 -05:00
parent b73716d8cb
commit 5bb235d38f
2 changed files with 15 additions and 1 deletions

View File

@ -16,6 +16,9 @@ ERROR: last-insn-not-a-jump insn ;
[ ##return? ]
[ ##callback-return? ]
[ ##jump? ]
[ ##fixnum-add-tail? ]
[ ##fixnum-sub-tail? ]
[ ##fixnum-mul-tail? ]
[ ##call? ]
} 1|| [ drop ] [ last-insn-not-a-jump ] if ;

View File

@ -11,9 +11,19 @@ compiler.cfg.dce
compiler.cfg.write-barrier
compiler.cfg.liveness
compiler.cfg.rpo
compiler.cfg.phi-elimination ;
compiler.cfg.phi-elimination
compiler.cfg.checker ;
IN: compiler.cfg.optimizer
SYMBOL: check-optimizer?
t check-optimizer? set-global
: ?check ( cfg -- cfg' )
check-optimizer? get [
dup check-cfg
] when ;
: optimize-cfg ( cfg -- cfg' )
[
compute-predecessors
@ -27,4 +37,5 @@ IN: compiler.cfg.optimizer
eliminate-dead-code
eliminate-write-barriers
eliminate-phis
?check
] with-scope ;