[LLVMdev] dominance frontiers

Preston Briggs preston.briggs at gmail.com
Thu Dec 29 08:23:47 PST 2011

On Wed, Dec 28, 2011 at 11:39 PM, Chris Lattner <clattner at apple.com> wrote:
> The other major problem that I forgot to mention is the "updating" problem.
> If you have many clients that are using DF, then you want anything that
> changes the CFG to update DF.  This can be non-trivial, and (again) is a
> waste of time in most cases IMO.

Interesting.  I never updated my DF representation;
instead, I computed them from scratch whenever necessary.
But I only used them for placing phi nodes, and I only did that in a
batch fashion.
That is, when I converted a routine to SSA form, I built DF's for the
entire routine
and then used them to insert phi nodes for the entire routine.
If I was in the middle of register allocation (when the CFG didn't change),
I carried the DFs along; otherwise, I threw them away.

I expect most our difference in perspective goes back to my paying attention
to the performance of individual optimizations, versus performance of
the compiler
as a whole.


More information about the llvm-dev mailing list