]> gitweb.factorcode.org Git - factor.git/commitdiff
compiler.cfg.gvn: move ##phi junk to proper vocabs
authorAlex Vondrak <ajvondrak@csupomona.edu>
Tue, 14 Jun 2011 19:04:58 +0000 (12:04 -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/gvn.factor
extra/compiler/cfg/gvn/misc/misc.factor

index 6af5dd0ffd588e177a83acb7d1597035b08223fe..e87fe66d891c775f6512536d42cc99c587bf5bd8 100644 (file)
@@ -1,8 +1,8 @@
 ! Copyright (C) 2008, 2010 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays classes classes.algebra combinators fry
-generic.parser kernel math namespaces quotations sequences slots
-words make sets
+USING: assocs accessors arrays classes classes.algebra
+combinators fry generic.parser kernel math namespaces
+quotations sequences slots words make sets
 compiler.cfg.instructions
 compiler.cfg.instructions.syntax
 compiler.cfg.gvn.graph ;
@@ -83,3 +83,6 @@ M: ##copy >expr "Fail" throw ;
 M: ##load-integer >expr val>> <integer-expr> ;
 
 M: ##load-reference >expr obj>> <reference-expr> ;
+
+M: ##phi >expr
+    inputs>> values [ vreg>vn ] map \ ##phi prefix ;
index cd07829242323b8da754d6caa63a3e1b51f28742..c4192652e54a1250b6a790851f99ed89f20e932a 100644 (file)
@@ -46,22 +46,10 @@ M: foldable-insn process-instruction
 M: ##copy process-instruction
     dup [ src>> vreg>vn ] [ dst>> ] bi set-vn ;
 
-M: ##phi rewrite
-    [ dst>> ] [ inputs>> values [ vreg>vn ] map ] bi
-    dup sift
-    dup all-equal? [
-        nip
-        [ drop f ]
-        [ first <copy> ] if-empty
-    ] [ 3drop f ] if ;
-
 M: ##phi process-instruction
     dup rewrite
     [ process-instruction ] [ check-redundancy ] ?if ;
 
-M: ##phi >expr
-    inputs>> values [ vreg>vn ] map \ ##phi prefix ;
-
 M: array process-instruction
     [ process-instruction ] map ;
 
index 970c39b71340d447a58d398a95602819bed83593..864af7b0b57912656956d2027b5d6241e7ef6c35 100644 (file)
@@ -1,7 +1,9 @@
 ! Copyright (C) 2010 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors cpu.architecture kernel
+USING: accessors assocs cpu.architecture grouping kernel
+sequences
 compiler.cfg.instructions
+compiler.cfg.utilities
 compiler.cfg.gvn.graph
 compiler.cfg.gvn.rewrite ;
 IN: compiler.cfg.gvn.misc
@@ -12,3 +14,12 @@ M: ##replace rewrite
         insn>literal dup immediate-store?
         [ swap \ ##replace-imm new-insn ] [ 2drop f ] if
     ] [ 2drop f ] if ;
+
+M: ##phi rewrite
+    [ dst>> ] [ inputs>> values [ vreg>vn ] map ] bi
+    dup sift
+    dup all-equal? [
+        nip
+        [ drop f ]
+        [ first <copy> ] if-empty
+    ] [ 3drop f ] if ;