<div dir="ltr">Hi Adam,<div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 23, 2016 at 1:50 PM, Adam Nemet via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word"><br><div><blockquote type="cite"><span class=""><div>On Mar 22, 2016, at 5:13 PM, Philip Reames <<a href="mailto:listmail@philipreames.com" target="_blank">listmail@philipreames.com</a>> wrote:</div><br></span><div><span class=""><br style="font-family:Helvetica;font-size:10px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)"><br style="font-family:Helvetica;font-size:10px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)"><div style="font-family:Helvetica;font-size:10px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)">On 03/20/2016 05:38 AM, Aries Gunawan via llvm-dev wrote:<br></div><blockquote type="cite" style="font-family:Helvetica;font-size:10px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)"><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:11pt"> </span><br></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><u></u></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><b>Loop Dependence Analysis Infrastructure.<span> </span></b>I have looked in the source codes repo and I saw that there is a file named “DependenceAnalysis.cpp”. So, does that mean this analysis has been implemented?</div></blockquote></span><span style="font-family:Helvetica;font-size:10px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important;background-color:rgb(255,255,255)">I believe major progress has been made it, but haven't been following it closely.  I'd suggest talking to committers active in this file in the recent past to determine what useful work might be left of appropriate scope. <span> \</span></span><br style="font-family:Helvetica;font-size:10px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)"></div></blockquote><div><br></div><div>We actually have two DA frameworks at the moment.  The file you mention is only used currently by the LoopInterchange pass that is off by default.  There is also the other framework that I’ve been working on called LoopAccessAnalysis that’s currently used by the LoopVectorizer, LoopLoadElimination, LoopDistribution and LICMLoopVersioning (the latter two are off by default).</div></div></div></blockquote><div><br></div><div>Do you think it is reasonable and feasible to provide a common interface for different loop dependence analyses like alias analysis, such that passes like LoopVectorizer/LoopLoadElimination/LoopDistribution etc. can query loop dependency information from different implementations for precision/compile-time trade off?</div><div><br></div><div>I ask because Utpal proposed to introduce dependency information calculated by Polly to LoopVectorizer. And I am interested in building a common interface for loop dependence analyses.</div><div><br></div><div> </div><div>Thanks</div><div>Hongbin</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word"><div><br></div></div></blockquote></div></div></div>