]> gitweb.factorcode.org Git - factor.git/blob - basis/compiler/cfg/dominance/dominance-docs.factor
hex-strings: fix using
[factor.git] / basis / compiler / cfg / dominance / dominance-docs.factor
1 USING: compiler.cfg compiler.cfg.dominance.private help.markup help.syntax
2 sequences ;
3 IN: compiler.cfg.dominance
4
5 HELP: dom-parents
6 { $var-description "Maps bb -> idom(bb)" } ;
7
8 HELP: dom-children
9 { $values { "bb" basic-block } { "seq" sequence } }
10 { $description "Maps bb -> {bb' | idom(bb') = bb} or in other words, all basic blocks dominated by the given basic block." } ;
11
12 HELP: dom-parent
13 { $values { "bb" basic-block } { "bb'" basic-block } }
14 { $description "The basic block dominating the given block." } ;
15
16 HELP: needs-dominance
17 { $values { "cfg" cfg } }
18 { $description "Recalculates predecessor and dominance info for the given cfg." } ;
19
20 ARTICLE: "compiler.cfg.dominance" "A Simple, Fast Dominance Algorithm"
21 "A Simple, Fast Dominance Algorithm" $nl
22 "Keith D. Cooper, Timothy J. Harvey, and Ken Kennedy" $nl
23 "http://www.cs.rice.edu/~keith/EMBED/dom.pdf"
24 $nl
25 "Also, a nice overview is given in these lecture notes:" $nl
26 "http://llvm.cs.uiuc.edu/~vadve/CS526/public_html/Notes/4ssa.4up.pdf"
27 $nl
28 "To rebuild dominance information:"
29 { $subsections needs-dominance }
30 "To read the dominance data:"
31 { $subsections dom-children dom-parent } ;
32
33
34 ABOUT: "compiler.cfg.dominance"