]> gitweb.factorcode.org Git - factor.git/commitdiff
compiler.cfg.gvn.misc: simplify ##phi rewrite
authorAlex Vondrak <ajvondrak@csupomona.edu>
Sat, 18 Jun 2011 22:26:21 +0000 (15:26 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Wed, 12 Sep 2012 22:14:07 +0000 (15:14 -0700)
extra/compiler/cfg/gvn/expressions/expressions.factor
extra/compiler/cfg/gvn/misc/misc.factor

index e87fe66d891c775f6512536d42cc99c587bf5bd8..c656d4ccc078941e2b29464cc1bf69232f92177b 100644 (file)
@@ -84,5 +84,8 @@ M: ##load-integer >expr val>> <integer-expr> ;
 
 M: ##load-reference >expr obj>> <reference-expr> ;
 
+! TODO experiment with sorting, in case that identifies more
+! phi equivalences
+
 M: ##phi >expr
     inputs>> values [ vreg>vn ] map \ ##phi prefix ;
index 864af7b0b57912656956d2027b5d6241e7ef6c35..9e23ae3bdd2aa6b10efc9f3444364b861cc3fba5 100644 (file)
@@ -16,10 +16,8 @@ M: ##replace rewrite
     ] [ 2drop f ] if ;
 
 M: ##phi rewrite
-    [ dst>> ] [ inputs>> values [ vreg>vn ] map ] bi
-    dup sift
+    [ dst>> ] [ inputs>> values [ vreg>vn ] map sift ] bi
     dup all-equal? [
-        nip
         [ drop f ]
         [ first <copy> ] if-empty
-    ] [ 3drop f ] if ;
+    ] [ 2drop f ] if ;