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