From 2025823ba6262058faef7993ab57b4bfc607844f Mon Sep 17 00:00:00 2001 From: Slava Pestov <slava@slava-pestovs-macbook-pro.local> Date: Wed, 27 May 2009 17:55:15 -0500 Subject: [PATCH] Remove old local DCE pass --- .../cfg/dead-code/dead-code-tests.factor | 9 --- basis/compiler/cfg/dead-code/dead-code.factor | 61 ------------------- basis/compiler/cfg/dead-code/summary.txt | 1 - 3 files changed, 71 deletions(-) delete mode 100644 basis/compiler/cfg/dead-code/dead-code-tests.factor delete mode 100644 basis/compiler/cfg/dead-code/dead-code.factor delete mode 100644 basis/compiler/cfg/dead-code/summary.txt diff --git a/basis/compiler/cfg/dead-code/dead-code-tests.factor b/basis/compiler/cfg/dead-code/dead-code-tests.factor deleted file mode 100644 index ee7d8d2a43..0000000000 --- a/basis/compiler/cfg/dead-code/dead-code-tests.factor +++ /dev/null @@ -1,9 +0,0 @@ -USING: compiler.cfg.dead-code compiler.cfg.instructions -compiler.cfg.registers compiler.cfg.debugger -cpu.architecture tools.test ; -IN: compiler.cfg.dead-code.tests - -[ { } ] [ - { T{ ##load-immediate f V int-regs 134 16 } } - eliminate-dead-code -] unit-test diff --git a/basis/compiler/cfg/dead-code/dead-code.factor b/basis/compiler/cfg/dead-code/dead-code.factor deleted file mode 100644 index 73aa7b4a5a..0000000000 --- a/basis/compiler/cfg/dead-code/dead-code.factor +++ /dev/null @@ -1,61 +0,0 @@ -! Copyright (C) 2008 Slava Pestov. -! See http://factorcode.org/license.txt for BSD license. -USING: accessors assocs sets kernel namespaces sequences -compiler.cfg.instructions compiler.cfg.def-use ; -IN: compiler.cfg.dead-code - -! Dead code elimination -- assumes compiler.cfg.alias-analysis -! has already run. - -! Maps vregs to sequences of vregs -SYMBOL: liveness-graph - -! vregs which participate in side effects and thus are always live -SYMBOL: live-vregs - -! mapping vregs to stack locations -SYMBOL: vregs>locs - -: init-dead-code ( -- ) - H{ } clone liveness-graph set - H{ } clone live-vregs set - H{ } clone vregs>locs set ; - -GENERIC: compute-liveness ( insn -- ) - -M: ##flushable compute-liveness - [ uses-vregs ] [ dst>> ] bi liveness-graph get set-at ; - -M: ##peek compute-liveness - [ [ loc>> ] [ dst>> ] bi vregs>locs get set-at ] - [ call-next-method ] - bi ; - -: live-replace? ( ##replace -- ? ) - [ src>> vregs>locs get at ] [ loc>> ] bi = not ; - -M: ##replace compute-liveness - dup live-replace? [ call-next-method ] [ drop ] if ; - -: record-live ( vregs -- ) - [ - dup live-vregs get key? [ drop ] [ - [ live-vregs get conjoin ] - [ liveness-graph get at record-live ] - bi - ] if - ] each ; - -M: insn compute-liveness uses-vregs record-live ; - -GENERIC: live-insn? ( insn -- ? ) - -M: ##flushable live-insn? dst>> live-vregs get key? ; - -M: ##replace live-insn? live-replace? ; - -M: insn live-insn? drop t ; - -: eliminate-dead-code ( insns -- insns' ) - init-dead-code - [ [ compute-liveness ] each ] [ [ live-insn? ] filter ] bi ; diff --git a/basis/compiler/cfg/dead-code/summary.txt b/basis/compiler/cfg/dead-code/summary.txt deleted file mode 100644 index c66cd99606..0000000000 --- a/basis/compiler/cfg/dead-code/summary.txt +++ /dev/null @@ -1 +0,0 @@ -Dead-code elimination