[llvm-dev] How to get information about data dependencies?

David Greene via llvm-dev
Tue, 07 Jul 2020 20:11:36 -0000

Stefanos Baziotis via llvm-dev <llvm-dev at lists.llvm.org> writes:

> Their most important difference is that DA is used for compile-time /
> static checks while LAA is mainly used for generating run-time checks.

Ah, that's important information I didn't have.  Thank you!

> Now, as for unifying them, if we mean something other than just putting
> them in the same file, I don't think it can happen.
> IMHO they're way more apart than it initially seems.

But yet they are intimately related in that the kind of information you
want to know statically and dynamically is the same.  I wonder what it
would take to extend DA to generate runtime checks if it can't prove
independence.

The thing I fear is one or the other being enhanced to resolve more
things statically without the other getting the same improvements.  Then
some passes benefit and others don't and it won't be clear why.  The
same could happen with enhancement to dynamic checking (if it were added
to DA).

                       -David