compiler.cfg.utilities: add loop-entry? word
parent
e6f5eab598
commit
ff81b055a5
|
@ -26,8 +26,7 @@ M: insn linearize-insn , drop ;
|
|||
[ number>> ] bi@ 1 - = ; inline
|
||||
|
||||
: emit-loop-entry? ( bb successor -- ? )
|
||||
[ back-edge? not ]
|
||||
[ nip dup predecessors>> [ swap back-edge? ] with any? ] 2bi and ;
|
||||
[ back-edge? not ] [ nip loop-entry? ] 2bi and ;
|
||||
|
||||
: emit-branch ( bb successor -- )
|
||||
2dup emit-loop-entry? [ _loop-entry ] when
|
||||
|
|
|
@ -15,6 +15,9 @@ PREDICATE: kill-block < basic-block
|
|||
: back-edge? ( from to -- ? )
|
||||
[ number>> ] bi@ >= ;
|
||||
|
||||
: loop-entry? ( bb -- ? )
|
||||
dup predecessors>> [ swap back-edge? ] with any? ;
|
||||
|
||||
: empty-block? ( bb -- ? )
|
||||
instructions>> {
|
||||
[ length 1 = ]
|
||||
|
|
Loading…
Reference in New Issue