[llvm-dev] [LAI] Question about getDependences

Florian Hahn via llvm-dev llvm-dev at lists.llvm.org
Thu Feb 18 10:24:18 PST 2021


Hi,

> On 18 Feb 2021, at 18:17, Dangeti Tharun kumar via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> Hi,
> 
> I am using LAI->getDependences(), It returns a vector of Dependence objects in a Loop.
> If the loop is un-analyzable or parallel, an empty list is returned.
> 
> for example:
> 
> Loop A:
> for (int i = 0; i < N; i ++) {
>         a[i] = c[i] + d[i];
>         b[i] = c[i] * d[i];
> }
> Loop B:
> for (int i = 0; i < N; i++) {
>      a[b[i]] = c[i] + d[i];
>      c[i] = c[i  - 1] + 1; 
> }
> 
> Loop A is parallel and Loop B has non-simple dependences(LAI bails out) for both the cases we get an empty set of dependences.
> 
> Is there an API that can tell if LAI was successful in dependence computation?

I think canVectorizeMemory should do what you want (possibly in combination with getMaxSafeDepDistBytes

Cheers,
Florian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20210218/047ca96e/attachment.html>


More information about the llvm-dev mailing list