RFC: Dynamic dominators

Btw, here is another interesting paper about post-dominators and control
dependence:

I think a great outcome of your internship would be some precise
documentation regarding the guarantees the LLVM dominators give --
possibly also considering classic and weak control dependence and the
difference between loop-dominance and dominance.

Please keep me up-to-date with your work. This is really work that has
long been overdue!

Best,
Tobias

I tried to use a bitcode file directly:

It seems the names “inloop” and “next” are not used.

My bad, I almost always use the tool with -view-cfg and didn’t notice that BB names were different. I fixed that and now when you just run the dominators tool on a module it should work fine. It now also supports reading .ll files.

Interesting. Probably it is just a testing/debugging tool, but maybe
clarifying this in the output may avoid confusion for others who try
your changes.

Yep, I briefly mentioned that in the first line of the tool’s source file, but I should probably add a note in some more visible place. Sorry for making it confusing.

We could even have a tool that records the dom-tree modification
requests, and dumps a corresponding IR-file.

Obviously, this is just an idea.

I’ll think about it.

Btw, here is another interesting paper about post-dominators and control
dependence:

https://pdfs.semanticscholar.org/cbb2/9a0e4895025bd9df24f9263217df12f1ed1e.pdf

Interesting, thanks for the link, I’ll try to take a look at it and probably report back with some ideas and more questions.

Best,
Kuba

>
> I tried to use a bitcode file directly:
>
> ...
>
> It seems the names "inloop" and "next" are not used.

My bad, I almost always use the tool with -view-cfg and didn't notice
that
BB names were different. I fixed that and now when you just run the
dominators tool on a module it should work fine. It now also supports
reading .ll files.

Interesting. Probably it is just a testing/debugging tool, but maybe
> clarifying this in the output may avoid confusion for others who try
> your changes.

Yep, I briefly mentioned that in the first line of the tool's source
file,
but I should probably add a note in some more visible place. Sorry for
making it confusing.

Great. It now works as expected. I still don't have an option to compute
post-dominators (I assume it is not yet implemented), but otherwise the
tools now does what I expect. Thanks for improving it!

Best,
Tobias