compiler.cfg.*: initial docs for dataflow analysis vocabs

db4
Björn Lindqvist 2014-07-29 18:43:13 +02:00 committed by John Benediktsson
parent 6560778d2a
commit c6784020aa
3 changed files with 32 additions and 0 deletions

View File

@ -10,6 +10,7 @@ HELP: basic-block
{ { $slot "successors" } { "A " { $link vector } " of basic blocks that may be executed directly after this block. Most blocks only have one successor but a block that checks where an if-condition should branch to would have two for example." } }
{ { $slot "predecessors" } { "The opposite of successors -- a " { $link vector } " of basic blocks from which the execution may have arrived into this block." } }
{ { $slot "instructions" } { "A " { $link vector } " of " { $link insn } " tuples which form the instructions of the basic block." } }
{ { $slot "unlikely?" } { "Unused boolean slot." } }
}
} ;

View File

@ -0,0 +1,25 @@
USING: compiler.cfg help.markup help.syntax ;
IN: compiler.cfg.dataflow-analysis
<PRIVATE
HELP: run-dataflow-analysis
{ $values
{ "cfg" cfg }
{ "dfa" "a dataflow analysis symbol" }
{ "in-sets" "inputs" }
{ "out-sets" "outputs" }
}
{ $description "Runs the given dataflow analysis on the cfg." } ;
PRIVATE>
HELP: FORWARD-ANALYSIS:
{ $syntax "FORWARD-ANALYSIS: word" }
{ $values { "word" "name of the compiler pass" } }
{ $description "Syntax word for defining a forward analysis compiler pass." } ;
HELP: BACKWARD-ANALYSIS:
{ $syntax "BACKWARD-ANALYSIS: word" }
{ $values { "word" "name of the compiler pass" } }
{ $description "Syntax word for defining a backward analysis compiler pass." } ;

View File

@ -0,0 +1,6 @@
USING: compiler.cfg compiler.cfg.instructions help.markup help.syntax ;
IN: compiler.cfg.stacks.uninitialized
HELP: compute-uninitialized-sets
{ $values { "cfg" cfg } }
{ $description "Runs the uninitialized compiler pass. The pass serves two purposes; if a " { $link ##peek } " reads an uninitialized stack location, then an error is thrown. Second, it assigns the " { $slot "scrub-d" } " and " { $slot "scrub-r" } " slots of all " { $link gc-map } " instances in the cfg." } ;