18 lines
577 B
Factor
18 lines
577 B
Factor
! Copyright (C) 2009, 2010 Slava Pestov.
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
USING: kernel combinators.short-circuit accessors math sequences
|
|
sets assocs compiler.cfg.instructions compiler.cfg.rpo
|
|
compiler.cfg.def-use compiler.cfg.linearization
|
|
compiler.cfg.utilities compiler.cfg.finalization
|
|
compiler.utilities ;
|
|
IN: compiler.cfg.checker
|
|
|
|
ERROR: bad-successors ;
|
|
|
|
: check-successors ( bb -- )
|
|
dup successors>> [ predecessors>> member-eq? ] with all?
|
|
[ bad-successors ] unless ;
|
|
|
|
: check-cfg ( cfg -- )
|
|
[ check-successors ] each-basic-block ;
|