|Dominance frontier example in "Engineering a Compiler" email@example.com (Rayiner Hashem) (2007-06-19)|
|Re: Dominance frontier example in "Engineering a Compiler" firstname.lastname@example.org (Raj) (2007-07-03)|
|Re: Dominance frontier example in "Engineering a Compiler" email@example.com (Rayiner Hashem) (2007-07-03)|
|Re: Dominance frontier example in Engineering a Compiler firstname.lastname@example.org (Michelle Strout) (2007-07-05)|
|From:||Rayiner Hashem <email@example.com>|
|Date:||Tue, 19 Jun 2007 07:05:40 -0700|
|Posted-Date:||19 Jun 2007 10:29:21 EDT|
I'm a little confused about the dominance frontier example given in
section 9.2 of Cooper & Torczon's "Engineering a Compiler". The
example in question is reproduced on page 12 of these slides:
When I run the algorithm they give on the example CFG, I end up with
B1 in its own dominance frontier. This makes sense, since B1 dominates
a predecessor of itself (B7), but does not strictly dominate itself.
However, the worked example shows the dominance frontier of B being
empty. The book explains this by saying something along the lines of
"the compiler notices that B7's immediate dominator is B1, so it adds
B1 to DF(B7) and to no other node", but does not explain why the
algorithm terminates its backtracking before B1, instead of continuing
up the dominator tree to B0.
Return to the
Search the comp.compilers archives again.