[llvm-dev] Loop Access Analysis

TADIKAMALLA VIJAY via llvm-dev llvm-dev at lists.llvm.org
Sun Jan 5 05:24:29 PST 2020

Hi all,
I found a solution to the problem I asked in a previous mail.
The question was: How to identify and classify if dependence is a
loop-carried or loop-independent dependence.

So to determine the type of dependence, we can calculate the *dependence
distance vector.*
In Loop access analysis, this value is calculated and stored in the
"Distance" variable.
If the Distance is equal to zero, then the dependence is loop-independent;
otherwise, the dependence is loop-carried.
This method can also be extended to determine if a loop can be parallelized
or not.

Thank you.
Vijay Tadikamalla

On Sun, Jan 5, 2020 at 6:01 PM Vijay Tadikamalla <
tadikamallavijay2012 at gmail.com> wrote:

> ---------- Forwarded message ---------
> From: Vijay Tadikamalla <tadikamallavijay2012 at gmail.com>
> Date: Thu, Dec 5, 2019 at 2:51 PM
> Subject: [llvm-dev] Loop Access Analysis
> To: <llvm-dev at lists.llvm.org>
> Hello,
> I want to identify and classify whether a dependence is a loop carried or
> loop independent dependence by observing how the dependence checker of the
> Loop Access Analysis pass works.
> It currently classifies the dependencies into NoDep, Unknown, Forward,
> ForwardButPreventsForwarding, Backward, BackwardVectorizable,
> BackwardVectorizableButPreventsForwarding.
> So, is there a way I can use the information provided by LAA to classify
> the dependencies into loop carried or loop independent dependence.
> For example, we know that all backward dependencies are loop-carried.
> Also, I will prefer not to use DependenceAnalysis for this purpose.
> Thank you
> Vijay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200105/f627ca56/attachment.html>

More information about the llvm-dev mailing list