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

Michael Kruse via llvm-dev
Mon, 20 Jul 2020 21:18:07 -0000

Am Mi., 15. Juli 2020 um 14:18 Uhr schrieb David Greene via llvm-dev
<llvm-dev at lists.llvm.org>:
> Stefanos Baziotis via llvm-dev <llvm-dev at lists.llvm.org> writes:
>
> > Well... I tried that and it doesn't seem to be very useful
> > unfortunately.  The C/C++ way that arrays are defined is probably why
> > DA is not that useful. Namely that a row can alias with another row in
> > 2D arrays. The theory behind DA is quite powerful if we knew that they
> > don't alias. Right now, it just gives up.
>
> Note that the situation is very different in flang, where good
> dependence analysis becomes much more critical.

There was an RFC on the mailing list to support a GetElementPtr with
dynamic array sizes:
http://lists.llvm.org/pipermail/llvm-dev/2019-July/134063.html

We also had a discussion whether `A[i][j]` can be lowered to a
GetElementPtr with `inrange` keyword for the subscripts, including for
statically sized arrays.

Michael