diff --git a/basis/compiler/cfg/linearization/linearization.factor b/basis/compiler/cfg/linearization/linearization.factor index d397c9d448..7433df9617 100644 --- a/basis/compiler/cfg/linearization/linearization.factor +++ b/basis/compiler/cfg/linearization/linearization.factor @@ -43,8 +43,8 @@ M: ##branch linearize-insn : binary-conditional ( basic-block insn -- basic-block successor label2 src1 src2 cc ) [ (binary-conditional) ] - [ drop dup successors>> first useless-branch? ] 2bi - [ [ number>> ] 3dip negate-cc ] [ [ swap number>> ] 3dip ] if ; + [ drop dup successors>> second useless-branch? ] 2bi + [ [ swap number>> ] 3dip ] [ [ number>> ] 3dip negate-cc ] if ; M: ##compare-branch linearize-insn binary-conditional _compare-branch emit-branch ; diff --git a/basis/compiler/cfg/rpo/rpo.factor b/basis/compiler/cfg/rpo/rpo.factor index 7f4b09e68f..158903b4bf 100644 --- a/basis/compiler/cfg/rpo/rpo.factor +++ b/basis/compiler/cfg/rpo/rpo.factor @@ -9,7 +9,10 @@ SYMBOL: visited : post-order-traversal ( bb -- ) dup id>> visited get key? [ drop ] [ dup id>> visited get conjoin - [ successors>> [ post-order-traversal ] each ] [ , ] bi + [ + successors>> + [ post-order-traversal ] each + ] [ , ] bi ] if ; : post-order ( bb -- blocks )