compiler.cfg.*: initial docs for dataflow analysis vocabs
parent
6560778d2a
commit
c6784020aa
|
@ -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." } }
|
||||
}
|
||||
} ;
|
||||
|
||||
|
|
|
@ -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." } ;
|
|
@ -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." } ;
|
Loading…
Reference in New Issue