<div dir="ltr"><div dir="ltr"><div>Hi all,<div>I found a solution to the problem I asked in a previous mail.</div><div>The question was: How to identify and classify if dependence is a loop-carried or loop-independent dependence.</div></div><div><br></div><div>So to determine the type of dependence, we can calculate the <b>dependence distance vector.</b></div><div>In Loop access analysis, this value is calculated and stored in the "Distance" variable.</div><div>If the Distance is equal to zero, then the dependence is loop-independent; otherwise, the dependence is loop-carried.</div><div>This method can also be extended to determine if a loop can be parallelized or not.</div><div></div><div><br></div><div>Thank you.</div><div><div dir="ltr" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div><font color="#444444">Vijay Tadikamalla</font></div></div></div></div></div></div></div></div></div></div></div></div><br><div class="gmail_quote"><div class="gmail_attr" dir="ltr">On Sun, Jan 5, 2020 at 6:01 PM Vijay Tadikamalla <<a target="_blank" href="mailto:tadikamallavijay2012@gmail.com">tadikamallavijay2012@gmail.com</a>> wrote:<br></div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><div dir="ltr"><br><br><div class="gmail_quote"><div class="gmail_attr" dir="ltr">---------- Forwarded message ---------<br>From: <strong dir="auto" class="gmail_sendername">Vijay Tadikamalla</strong> <span dir="auto"><<a target="_blank" href="mailto:tadikamallavijay2012@gmail.com">tadikamallavijay2012@gmail.com</a>></span><br>Date: Thu, Dec 5, 2019 at 2:51 PM<br>Subject: [llvm-dev] Loop Access Analysis<br>To:  <<a target="_blank" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>><br></div><br><br><div dir="ltr">Hello,<div><br><div>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. </div><div><br></div><div>It currently classifies the dependencies into NoDep, Unknown, Forward, ForwardButPreventsForwarding, Backward, BackwardVectorizable, BackwardVectorizableButPreventsForwarding.</div><div><br></div><div>So, is there a way I can use the information provided by LAA to classify the dependencies into loop carried or loop independent dependence. </div><div>For example, we know that all backward dependencies are loop-carried.</div><div><br></div><div>Also, I will prefer not to use DependenceAnalysis for this purpose.<br></div><div><br></div><div>Thank you</div><div>Vijay</div><div><br></div></div></div>
</div></div>
</blockquote></div>
</div>