-
Notifications
You must be signed in to change notification settings - Fork 205
/
dominance-docs.factor
34 lines (27 loc) · 1.15 KB
/
dominance-docs.factor
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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"