<div dir="ltr">Ah, yes, I should have provided an example:<div><br></div><div><font face="monospace, monospace">1: for(int i = 0; i < n/2; ++i)</font></div><div><font face="monospace, monospace">2:   for(int j = 0; j < n; ++j)</font></div><div><font face="monospace, monospace">3:     A[2*i+n*j] += A[2*i+1+n*j];</font></div><div><br></div><div>Let say, I have a loop interchange pass that decide it is better for spacial locality, to exchange those two loops.</div><div>It might print a diagnostic message:</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Deciding to perform loop interchange between outer-loop at line 1 and inner-loop at line 2. Accesses on A at line 3 have a stride of 2 along the outer-loop, which is shorter than the stride of %17 along the inner-loop.</blockquote><div><br></div><div>The reason why it says 2 and %17 is because that is the textual representation of SCEV representing the stride. Ideally, %17 would be expressed in terms of the original code, here "n". I could translate the "leaves" into their debug info, but what about {0,+,1}<%loop1> that I would like to spell, as a block: "i"?</div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jun 4, 2018 at 8:52 PM, Sanjoy Das <span dir="ltr"><<a href="mailto:sanjoy@playingwithpointers.com" target="_blank">sanjoy@playingwithpointers.co<wbr>m</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>On Mon, Jun 4, 2018 at 6:14 PM, Alexandre Isoard via llvm-dev<br>
<<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br>
> - I would like to print meaningful expressions that does not involve llvm-ir<br>
> variables.<br>
<br>
</span>I don't quite understand what you mean by this -- are you saying you<br>
want to print SCEV expressions that have only constants at the leaves?<br>
<br>
In any case, some examples will be helpful.<br>
<br>
-- Sanjoy<br>
<span><br>
><br>
> I think the second problem is hard, how would you suggest to proceed?<br>
><br>
> --<br>
> Alexandre Isoard<br>
><br>
</span>> ______________________________<wbr>_________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="m_1730256003733635848m_7671040924542770914gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><b>Alexandre Isoard</b><br></div></div>
</div></div>