[llvm-dev] Regarding Dependence distance dump

Venkataramanan Kumar via llvm-dev llvm-dev at lists.llvm.org
Wed Sep 19 02:58:19 PDT 2018


Hi,

I tired to see when this behavior changed in LLVM.
It seems to start from.
--snip--
commit 95e5d37d5868ebde2302bc302c1e0af407c5646d
Author: Sebastian Pop <sebpop at gmail.com>
Date:   Tue Mar 6 21:55:59 2018 +0000

    DA: remove uses of GEP, only ask SCEV
--snip--

https://reviews.llvm.org/D35430
Review URL says "GEP" based approach was wrong for multidimensional array
references. The LLVM-DA now uses SCEV representation.  But why we are not
getting the distance with SCEV?  Current DA will not work for
multidimensional arrays?

I need to get dependence distance for a transformation that I am working
on.  How do I get distance for such cases, esp multidimensional arrays?

Thanks and regards,
Venkat.

On Tue, 18 Sep 2018 at 19:00, Venkataramanan Kumar <
venkataramanan.kumar.llvm at gmail.com> wrote:

> Hi,
>
> For the below test case, I need the dependence distance between the array
> references  "a[j][i]"  and "a[j-1][i-2]".
>
> --Snip--
> int a[5][5];
> int b[10];
>
> void test()
> {
>         for (int j=1;j<5;j++)
>                 for (int i=2;i<5;i++)
>                 {
>                         a[j][i] = 3.0;
>                         b[i]= a[j-1][i-2] ;
>                 }
> }
> --Snip-
>
> Compile steps
> clang -O1 -emit-llvm -S test.c
> opt  -analyze -da dist.ll
>
> I tried dumping the dependence information with LLVM trunk (2018_09_17),
> it shows:
>
> Printing analysis 'Dependence Analysis' for function 'test':
> da analyze - none!
> da analyze - flow [< <>]! <== dumps direction vector
> da analyze - none!
> da analyze - none!
> da analyze - none!
> da analyze - consistent output [S 0]!
>
> LLVM Release 6.0.1 dumps the expected distance.
> Printing analysis 'Dependence Analysis' for function 'test':
> da analyze - none!
> da analyze - consistent flow [1 2]!
> da analyze - none!
> da analyze - none!
> da analyze - none!
> da analyze - consistent output [S 0]!
>
> In trunk, it is now showing directions instead of distances.
> How to get the dependence distance?
>
> regards,
> Venkat.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180919/60e3b1b6/attachment.html>


More information about the llvm-dev mailing list