factor/basis/compiler/cfg/dominance/dominance-docs.factor

35 lines
1.2 KiB
Factor

USING: compiler.cfg compiler.cfg.dominance.private help.markup help.syntax
sequences ;
IN: compiler.cfg.dominance
HELP: dom-parents
{ $var-description "Maps bb -> idom(bb)" } ;
HELP: dom-children
{ $values { "bb" basic-block } { "seq" sequence } }
{ $description "Maps bb -> {bb' | idom(bb') = bb} or in other words, all basic blocks dominated by the given basic block." } ;
HELP: dom-parent
{ $values { "bb" basic-block } { "bb'" basic-block } }
{ $description "The basic block dominating the given block." } ;
HELP: needs-dominance
{ $values { "cfg" cfg } }
{ $description "Recalculates predecessor and dominance info for the given cfg." } ;
ARTICLE: "compiler.cfg.dominance" "A Simple, Fast Dominance Algorithm"
"A Simple, Fast Dominance Algorithm" $nl
"Keith D. Cooper, Timothy J. Harvey, and Ken Kennedy" $nl
"http://www.cs.rice.edu/~keith/EMBED/dom.pdf"
$nl
"Also, a nice overview is given in these lecture notes:" $nl
"http://llvm.cs.uiuc.edu/~vadve/CS526/public_html/Notes/4ssa.4up.pdf"
$nl
"To rebuild dominance information:"
{ $subsections needs-dominance }
"To read the dominance data:"
{ $subsections dom-children dom-parent } ;
ABOUT: "compiler.cfg.dominance"