]> gitweb.factorcode.org Git - factor.git/commitdiff
compiler.cfg.parallel-copy: docs
authorBjörn Lindqvist <bjourne@gmail.com>
Sat, 20 Dec 2014 15:10:37 +0000 (16:10 +0100)
committerBjörn Lindqvist <bjourne@gmail.com>
Wed, 31 Dec 2014 02:37:16 +0000 (03:37 +0100)
basis/compiler/cfg/parallel-copy/parallel-copy-docs.factor [new file with mode: 0644]
basis/compiler/cfg/parallel-copy/parallel-copy.factor

diff --git a/basis/compiler/cfg/parallel-copy/parallel-copy-docs.factor b/basis/compiler/cfg/parallel-copy/parallel-copy-docs.factor
new file mode 100644 (file)
index 0000000..5fadad4
--- /dev/null
@@ -0,0 +1,15 @@
+USING: assocs compiler.cfg compiler.cfg.instructions compiler.cfg.registers
+compiler.cfg.parallel-copy.private help.markup help.syntax math sequences ;
+IN: compiler.cfg.parallel-copy
+
+HELP: process-to-do
+{ $description "Note that we check if b = loc(b), not b = loc(pred(b)) as the paper suggests. Confirmed by one of the authors at http://www.reddit.com/comments/93253/some_lecture_notes_on_ssa_form/c0bco4f" } ;
+
+HELP: parallel-copy
+{ $values { "mapping" { $link assoc } " of { dst src } virtual register pairs" } }
+{ $description "Creates " { $link ##copy } " instructions." } ;
+
+ARTICLE: "compiler.cfg.parallel-copy" "Parallel copy"
+"Revisiting Out-of-SSA Translation for Correctness, Code Quality, and Efficiency http://hal.archives-ouvertes.fr/docs/00/34/99/25/PDF/OutSSA-RR.pdf, Algorithm 1" ;
+
+ABOUT: "compiler.cfg.parallel-copy"
index 1ec014824427e5374e203d1d02d499ea5076b9a4..1961d320495896094b0bff833452599f233ea8aa 100644 (file)
@@ -6,10 +6,6 @@ dlists fry kernel locals namespaces sequences ;
 FROM: sets => conjoin ;
 IN: compiler.cfg.parallel-copy
 
-! Revisiting Out-of-SSA Translation for Correctness, Code Quality, and Efficiency
-! http://hal.archives-ouvertes.fr/docs/00/34/99/25/PDF/OutSSA-RR.pdf,
-! Algorithm 1
-
 <PRIVATE
 
 SYMBOLS: locs preds to-do ready ;
@@ -35,9 +31,6 @@ SYMBOLS: locs preds to-do ready ;
     a c = a preds get at and [ a ready get push-front ] when ; inline
 
 :: process-to-do ( b temp: ( src -- dst ) quot: ( dst src -- ) -- )
-    ! Note that we check if b = loc(b), not b = loc(pred(b)) as the
-    ! paper suggests. Confirmed by one of the authors at
-    ! http://www.reddit.com/comments/93253/some_lecture_notes_on_ssa_form/c0bco4f
     b locs get at b = [
         b temp call :> temp
         temp b quot call
@@ -60,7 +53,6 @@ PRIVATE>
     ] with-scope ; inline
 
 : parallel-copy ( mapping -- )
-    ! mapping is a list of { dst src } pairs
     next-vreg '[ drop _ ] [ any-rep ##copy, ] parallel-mapping ;
 
 <PRIVATE