From 802b4ffdf53f6d9a02ac374cc877da7b6dd03a9e Mon Sep 17 00:00:00 2001 From: Slava Pestov <slava@slava-pestovs-macbook-pro.local> Date: Tue, 21 Jul 2009 17:46:09 -0500 Subject: [PATCH] compiler.cfg.dcn: remove stores to stack locations above top of stack (these are never read again) --- basis/compiler/cfg/dcn/rewrite/rewrite.factor | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/basis/compiler/cfg/dcn/rewrite/rewrite.factor b/basis/compiler/cfg/dcn/rewrite/rewrite.factor index 4952a256de..4a578dc098 100644 --- a/basis/compiler/cfg/dcn/rewrite/rewrite.factor +++ b/basis/compiler/cfg/dcn/rewrite/rewrite.factor @@ -16,13 +16,14 @@ IN: compiler.cfg.dcn.rewrite assoc-union assoc-diff ] keep untranslate-locs ; +: remove-dead-stores ( assoc -- assoc' ) + [ drop n>> 0 >= ] assoc-filter ; + : inserting-replaces ( from to -- assoc ) [ [ replace-out ] [ [ kill-in ] [ replace-in ] bi ] bi* assoc-union assoc-diff - ] keep - untranslate-locs - [ drop n>> 0 >= ] assoc-filter ; + ] keep untranslate-locs remove-dead-stores ; SYMBOL: locs>vregs