From 4352902bb6b9a65e2579c19e3a8805a47028ab61 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Mon, 3 May 2010 18:23:54 -0400 Subject: [PATCH] compiler.cfg.empty-blocks: remove unused pass --- .../cfg/empty-blocks/empty-blocks.factor | 47 ------------------- .../cfg/finalization/finalization.factor | 7 ++- basis/compiler/cfg/optimizer/optimizer.factor | 1 - 3 files changed, 3 insertions(+), 52 deletions(-) delete mode 100644 basis/compiler/cfg/empty-blocks/empty-blocks.factor diff --git a/basis/compiler/cfg/empty-blocks/empty-blocks.factor b/basis/compiler/cfg/empty-blocks/empty-blocks.factor deleted file mode 100644 index 605c572cb3..0000000000 --- a/basis/compiler/cfg/empty-blocks/empty-blocks.factor +++ /dev/null @@ -1,47 +0,0 @@ -! Copyright (C) 2008, 2009 Slava Pestov. -! See http://factorcode.org/license.txt for BSD license. -USING: kernel accessors sequences namespaces combinators -combinators.short-circuit classes vectors compiler.cfg -compiler.cfg.instructions compiler.cfg.rpo ; -IN: compiler.cfg.empty-blocks - -> first [ - [ - 2dup eq? [ drop successors>> first ] [ nip ] if - ] with map - ] change-successors drop ; - -: update-successor ( bb -- ) - ! We have to replace occurrences of bb with bb's predecessor - ! in bb's sucessor's list of predecessors. - dup successors>> first [ - [ - 2dup eq? [ drop predecessors>> first ] [ nip ] if - ] with map - ] change-predecessors drop ; - -SYMBOL: changed? - -: delete-basic-block ( bb -- ) - [ update-predecessor ] [ update-successor ] bi - changed? on ; - -: delete-basic-block? ( bb -- ? ) - { - [ instructions>> length 1 = ] - [ predecessors>> length 1 = ] - [ successors>> length 1 = ] - [ instructions>> first ##branch? ] - } 1&& ; - -PRIVATE> - -: delete-empty-blocks ( cfg -- cfg' ) - changed? off - dup [ dup delete-basic-block? [ delete-basic-block ] [ drop ] if ] each-basic-block - changed? get [ cfg-changed ] when ; \ No newline at end of file diff --git a/basis/compiler/cfg/finalization/finalization.factor b/basis/compiler/cfg/finalization/finalization.factor index 3ee7ba06e3..681563da34 100644 --- a/basis/compiler/cfg/finalization/finalization.factor +++ b/basis/compiler/cfg/finalization/finalization.factor @@ -1,9 +1,8 @@ ! Copyright (C) 2010 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: compiler.cfg.empty-blocks compiler.cfg.gc-checks -compiler.cfg.representations compiler.cfg.save-contexts -compiler.cfg.ssa.destruction compiler.cfg.build-stack-frame -compiler.cfg.linear-scan ; +USING: compiler.cfg.gc-checks compiler.cfg.representations +compiler.cfg.save-contexts compiler.cfg.ssa.destruction +compiler.cfg.build-stack-frame compiler.cfg.linear-scan ; IN: compiler.cfg.finalization : finalize-cfg ( cfg -- cfg' ) diff --git a/basis/compiler/cfg/optimizer/optimizer.factor b/basis/compiler/cfg/optimizer/optimizer.factor index ca1886bcd6..d819e227c9 100644 --- a/basis/compiler/cfg/optimizer/optimizer.factor +++ b/basis/compiler/cfg/optimizer/optimizer.factor @@ -14,7 +14,6 @@ compiler.cfg.representations compiler.cfg.gc-checks compiler.cfg.save-contexts compiler.cfg.ssa.destruction -compiler.cfg.empty-blocks compiler.cfg.checker ; IN: compiler.cfg.optimizer