]> gitweb.factorcode.org Git - factor.git/commitdiff
compiler.cfg.builder.blocks: removes assignments to basic-block variable
authorBjörn Lindqvist <bjourne@gmail.com>
Tue, 8 Mar 2016 15:30:25 +0000 (16:30 +0100)
committerBjörn Lindqvist <bjourne@gmail.com>
Wed, 9 Mar 2016 22:24:43 +0000 (23:24 +0100)
Now it isn't used at all in the cfg creation step.

basis/compiler/cfg/builder/blocks/blocks-docs.factor
basis/compiler/cfg/builder/blocks/blocks-tests.factor
basis/compiler/cfg/builder/blocks/blocks.factor
basis/compiler/cfg/builder/builder-tests.factor

index 1f266d7835ffaffd1404b31d55416801c62f2c14..7c7b2d64489e83c095c99b2c83020da72775434b 100644 (file)
@@ -5,22 +5,21 @@ IN: compiler.cfg.builder.blocks
 <<
 STRING: ex-emit-trivial-block
 USING: compiler.cfg.builder.blocks make prettyprint ;
-<basic-block> set-basic-block [ [ gensym ##call, ] emit-trivial-block ] { } make drop basic-block get .
+begin-stack-analysis <basic-block> dup set-basic-block [ gensym ##call, drop ] emit-trivial-block predecessors>> first .
 T{ basic-block
-    { id 2040412 }
+    { instructions
+        V{ T{ ##call { word ( gensym ) } } T{ ##branch } }
+    }
     { successors
+        V{
+            T{ basic-block { predecessors V{ ~circularity~ } } }
+        }
+    }
+    { predecessors
         V{
             T{ basic-block
-                { id 2040413 }
-                { instructions
-                    V{
-                        T{ ##call { word ( gensym ) } }
-                        T{ ##branch }
-                    }
-                }
-                { successors
-                    V{ T{ basic-block { id 2040414 } } }
-                }
+                { instructions V{ T{ ##branch } } }
+                { successors V{ ~circularity~ } }
             }
         }
     }
index 70e158df71a249ec80d711f2f3601efec04c0d2b..4cedac47a23896f4807a5b44d9a4a22f97ec9508 100644 (file)
@@ -1,6 +1,6 @@
 USING: accessors compiler.cfg compiler.cfg.builder.blocks
 compiler.cfg.instructions compiler.cfg.stacks.local
-compiler.cfg.utilities compiler.test kernel make namespaces sequences
+compiler.cfg.utilities compiler.test kernel namespaces sequences
 tools.test ;
 IN: compiler.cfg.builder.blocks.tests
 
index 75b574e3a3dd3c360082d967703867c279f8b5dc..12b589e5c0a300dcc85a45b9abc84896f8d84bda 100644 (file)
@@ -1,19 +1,17 @@
 ! Copyright (C) 2009, 2010 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors arrays compiler.cfg compiler.cfg.instructions
-compiler.cfg.stacks compiler.cfg.stacks.local compiler.cfg.utilities fry kernel
-make math namespaces sequences ;
+compiler.cfg.stacks compiler.cfg.stacks.local compiler.cfg.utilities
+kernel make math namespaces sequences ;
 SLOT: in-d
 SLOT: out-d
 IN: compiler.cfg.builder.blocks
 
 : set-basic-block ( basic-block -- )
-    [ basic-block set ]
-    [ instructions>> building set ]
-    [ begin-local-analysis ] tri ;
+    [ instructions>> building set ] [ begin-local-analysis ] bi ;
 
 : end-basic-block ( block -- )
-    [ end-local-analysis ] when* building off basic-block off ;
+    [ end-local-analysis ] when* building off ;
 
 : (begin-basic-block) ( block -- block' )
     <basic-block> swap [ over connect-bbs ] when* dup set-basic-block ;
index 0aaff60083632d4f5ede05acc22992dbf193fb6f..199fa7cae186ad397fae53674a39561c4d6c662f 100644 (file)
@@ -254,7 +254,7 @@ SYMBOL: foo
 ! emit-branch
 { 77 } [
     { T{ #call { word + } } }
-    V{ } 77 insns>block dup basic-block set
+    V{ } 77 insns>block
     emit-branch
     first predecessors>>
     first predecessors>>
@@ -377,9 +377,7 @@ SYMBOL: foo
         T{ ##return }
     }
 } [
-    [
-        <basic-block> dup set-basic-block end-word
-    ] V{ } make drop instructions>>
+    <basic-block> dup set-basic-block end-word instructions>>
 ] unit-test