]> gitweb.factorcode.org Git - factor.git/commitdiff
compiler.cfg.dataflow-analysis: removes the -analysis from the dfa token
authorBjörn Lindqvist <bjourne@gmail.com>
Wed, 16 Mar 2016 13:37:33 +0000 (14:37 +0100)
committerBjörn Lindqvist <bjourne@gmail.com>
Wed, 16 Mar 2016 13:40:58 +0000 (14:40 +0100)
It makes the FORWARD-ANALYSIS: and BACKWARD-ANALYSIS: functors less
magical if the generated singletons name is the same as in the syntax.

basis/compiler/cfg/dataflow-analysis/dataflow-analysis.factor
basis/compiler/cfg/stacks/global/global.factor
basis/compiler/cfg/stacks/padding/padding.factor
extra/compiler/cfg/gvn/avail/avail.factor

index a610498478d1cd39b0d7f769084fff84c5902b66..e85315d1197bfed05b7a137aa3492f641db21562 100644 (file)
@@ -59,7 +59,7 @@ M: dataflow-analysis ignore-block? drop kill-block?>> ;
 
 FUNCTOR: define-analysis ( name -- )
 
-name-analysis DEFINES-CLASS ${name}-analysis
+name DEFINES-CLASS ${name}
 name-ins DEFINES ${name}-ins
 name-outs DEFINES ${name}-outs
 name-in DEFINES ${name}-in
@@ -67,7 +67,7 @@ name-out DEFINES ${name}-out
 
 WHERE
 
-SINGLETON: name-analysis
+SINGLETON: name
 
 SYMBOL: name-ins
 
@@ -90,17 +90,17 @@ M: forward-analysis predecessors drop predecessors>> ;
 
 FUNCTOR: define-forward-analysis ( name -- )
 
-name-analysis IS ${name}-analysis
+name IS ${name}
 name-ins IS ${name}-ins
 name-outs IS ${name}-outs
 compute-name-sets DEFINES compute-${name}-sets
 
 WHERE
 
-INSTANCE: name-analysis forward-analysis
+INSTANCE: name forward-analysis
 
 : compute-name-sets ( cfg -- )
-    name-analysis run-dataflow-analysis
+    name run-dataflow-analysis
     [ name-ins set ] [ name-outs set ] bi* ;
 
 ;FUNCTOR
@@ -116,17 +116,17 @@ M: backward-analysis predecessors drop successors>> ;
 
 FUNCTOR: define-backward-analysis ( name -- )
 
-name-analysis IS ${name}-analysis
+name IS ${name}
 name-ins IS ${name}-ins
 name-outs IS ${name}-outs
 compute-name-sets DEFINES compute-${name}-sets
 
 WHERE
 
-INSTANCE: name-analysis backward-analysis
+INSTANCE: name backward-analysis
 
 : compute-name-sets ( cfg -- )
-    \ name-analysis run-dataflow-analysis
+    \ name run-dataflow-analysis
     [ name-outs set ] [ name-ins set ] bi* ;
 
 ;FUNCTOR
index 86035cf7e7755fd96f468b944bd0ba36dff5aa36..a071c1e2e843714492bb69dc8c241d89c9b39eba 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2009 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: assocs combinators compiler.cfg.dataflow-analysis
-compiler.cfg.stacks.local kernel namespaces sequences sets ;
+USING: assocs compiler.cfg.dataflow-analysis compiler.cfg.stacks.local
+kernel namespaces sequences sets ;
 IN: compiler.cfg.stacks.global
 
 : peek-set ( bb -- assoc ) peek-sets get at ;
@@ -20,38 +20,38 @@ IN: compiler.cfg.stacks.global
 ! before writing it.
 BACKWARD-ANALYSIS: anticip
 
-M: anticip-analysis transfer-set drop transfer-peeked-locs ;
-M: anticip-analysis join-sets 2drop refine ;
+M: anticip transfer-set drop transfer-peeked-locs ;
+M: anticip join-sets 2drop refine ;
 
 ! A stack location is live at a location if some path from
 ! the location to an exit block will read the stack location
 ! before writing it.
 BACKWARD-ANALYSIS: live
 
-M: live-analysis transfer-set drop transfer-peeked-locs ;
-M: live-analysis join-sets 2drop combine ;
+M: live transfer-set drop transfer-peeked-locs ;
+M: live join-sets 2drop combine ;
 
 ! A stack location is available at a location if all paths from
 ! the entry block to the location load the location into a
 ! register.
 FORWARD-ANALYSIS: avail
 
-M: avail-analysis transfer-set
+M: avail transfer-set
     drop [ peek-set ] [ replace-set ] bi union union ;
-M: avail-analysis join-sets 2drop refine ;
+M: avail join-sets 2drop refine ;
 
 ! A stack location is pending at a location if all paths from
 ! the entry block to the location write the location.
 FORWARD-ANALYSIS: pending
 
-M: pending-analysis transfer-set
+M: pending transfer-set
     drop replace-set union ;
-M: pending-analysis join-sets 2drop refine ;
+M: pending join-sets 2drop refine ;
 
 ! A stack location is dead at a location if no paths from the
 ! location to the exit block read the location before writing it.
 BACKWARD-ANALYSIS: dead
 
-M: dead-analysis transfer-set
+M: dead transfer-set
     drop [ kill-set ] [ replace-set ] bi union union ;
-M: dead-analysis join-sets 2drop refine ;
+M: dead join-sets 2drop refine ;
index 78bd22dad0dd1fe2e002cf2ed917863949f1ce32..6daa64ec5c6f906657066df555ffe0535bb9abfd 100644 (file)
@@ -87,13 +87,13 @@ SYMBOL: stack-record
 : visit-insns ( insns state -- state' )
     [ [ register-stack-state ] [ visit-insn ] 2bi ] reduce ;
 
-M: padding-analysis transfer-set ( in-set bb dfa -- out-set )
+M: padding transfer-set ( in-set bb dfa -- out-set )
     drop instructions>> swap visit-insns ;
 
-M: padding-analysis ignore-block? ( bb dfa -- ? )
+M: padding ignore-block? ( bb dfa -- ? )
     2drop f ;
 
-M: padding-analysis join-sets ( sets bb dfa -- set )
+M: padding join-sets ( sets bb dfa -- set )
     2drop combine-states ;
 
 : uniquely-number-instructions ( cfg -- )
index 8d817829c5a6b5ec7bfa18636f672df4b625399c..99008c9fc8f20246db9acab9013fd0e3e3e9743c 100644 (file)
@@ -20,7 +20,7 @@ IN: compiler.cfg.gvn.avail
 
 FORWARD-ANALYSIS: avail
 
-M: avail-analysis transfer-set drop defined assoc-union ;
+M: avail transfer-set drop defined assoc-union ;
 
 : available? ( vn -- ? ) basic-block get avail-in key? ;