<div dir="ltr">Testing makes sense, especially in the troublesome cases of:<div><ul><li> multi-dimensional arrays where some of the dimensions are specified by parameters, and</li><li> out-of-range indices.</li></ul><div>Preston</div>
<div><br></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Jul 19, 2013 at 10:19 AM, Tobias Grosser <span dir="ltr"><<a href="mailto:grosser@google.com" target="_blank">grosser@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I suggested to rewrite this with SCEV. However, other people, e.g. Sebastian, commented that such a rewrite may not be necessary or could in fact be performed in-tree if shown to be necessary. I personally would also be OK with committing this code in tree and then improving it as we go. The code itself looked good and worked as advertised. What we now need is probably more experience with that kind of analysis. Having this in tree and possibly hooking up some (experimental) users may help us to get this experience.<div>

<br></div><div>Tobi</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jul 18, 2013 at 10:40 AM, Hal Finkel <span dir="ltr"><<a href="mailto:hfinkel@anl.gov" target="_blank">hfinkel@anl.gov</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>----- Original Message -----<br>
><br>
><br>
> In fact Hal posted a delinearization pass some time ago (I do not<br>
> have the email at hand). It did a pretty good job.<br>
<br>
</div>Yea ;) -- As I recall, it also needed a rewrite because it built up its internal expression tree from the instruction stream instead of reusing the expression tree from the SCEVs. The underlying algorithm, however, did seem to work pretty well.<br>


<span><font color="#888888"><br>
 -Hal<br>
</font></span><div><div><br>
><br>
><br>
><br>
> Cheers,<br>
> Tobi<br>
><br>
><br>
><br>
> On Wed, Jul 17, 2013 at 5:48 PM, Andrew Trick < <a href="mailto:atrick@apple.com" target="_blank">atrick@apple.com</a> ><br>
> wrote:<br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
> On Jul 1, 2013, at 6:14 PM, Chandler Carruth < <a href="mailto:chandlerc@google.com" target="_blank">chandlerc@google.com</a> ><br>
> wrote:<br>
><br>
><br>
><br>
> If we want to define an IR construct to express multidimensional<br>
> array references without linearizing, I suspect we would need a very<br>
> different / new instruction... retrofitting GEP seems risky given<br>
> its existing uses and complexity. If you or other folks have ideas<br>
> of how to represent this effectively in LLVM's IR, by all means fire<br>
> away. =]<br>
><br>
><br>
><br>
><br>
> Personally, I think it would be useful to at see if we could at least<br>
> delinearize "obvious" or "easy" cases. We might actually get<br>
> reasonably good mileage out of this. However, my perspective here is<br>
> biased -- I work almost exclusively with a language that doesn't<br>
> provide the guarantees Fortran does regarding multidimensional<br>
> arrays.<br>
><br>
> Agreed. We should find out which important cases cannot be<br>
> successfully delinearized without further IR annotation and only<br>
> then think about extending IR.<br>
><br>
><br>
> -Andy<br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
><br>
><br>
><br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
><br>
<br>
</div></div><div><div>--<br>
Hal Finkel<br>
Assistant Computational Scientist<br>
Leadership Computing Facility<br>
Argonne National Laboratory<br>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>