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