<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p><br>
</p>
<div class="moz-cite-prefix">On 3/30/20 11:27 AM, Bardia Mahjour via
llvm-dev wrote:<br>
</div>
<blockquote type="cite"
cite="mid:OF94AD4AAC.4120412B-ON0025853B.0065396A-8525853B.00656432@notes.na.collabserv.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<p><font size="2">Forwarding to the dev list, in case others ran
into similar issues and/or have input on this topic.</font><br>
<br>
<font size="2">Bardia Mahjour<br>
</font><br>
<font size="2" color="#800080">----- Forwarded by Bardia
Mahjour/Toronto/IBM</font><font size="2" color="#800080"> on
2020/03/30 02:25 PM</font><font size="2" color="#800080">
-----</font><br>
<br>
<font size="2" color="#5F5F5F">From: </font><font size="2">Bardia
Mahjour/Toronto/IBM</font><br>
<font size="2" color="#5F5F5F">To: </font><font size="2"><a class="moz-txt-link-abbreviated" href="mailto:listmail@philipreames.com">listmail@philipreames.com</a></font><br>
<font size="2" color="#5F5F5F">Cc: </font><font size="2">"Michael
Kruse" <a class="moz-txt-link-rfc2396E" href="mailto:llvm@meinersbur.de"><llvm@meinersbur.de></a></font><br>
<font size="2" color="#5F5F5F">Date: </font><font size="2">2020/03/26
11:47 AM</font><br>
<font size="2" color="#5F5F5F">Subject: </font><font size="2">Scalar
Evolution Expressions Involving Sibling Loops</font><br>
</p>
<hr style="color:#8091A5; " width="100%" size="2"
noshade="noshade" align="left"><br>
<br>
<font size="2">Hi Philip,</font><br>
<br>
<font size="2">I hope you are doing well. </font><br>
<br>
<font size="2">We've recently run into an issue with SCEV in the
context of dependence analysis, and would like your opinion on
it. Background discussion can be found here </font><a
href="https://reviews.llvm.org/D75628#inline-689527"
moz-do-not-send="true"><font size="2">https://reviews.llvm.org/D75628#inline-689527</font></a><font
size="2">.</font><br>
<br>
<font size="2">Basically in this case, the dependence equation
requires us to symbolically create an expression involving two
or more recurrences that recur with non-dominating loops
(sibling loops). </font></blockquote>
<font size="2">I'm not following your example. If you have two
sibling loops with the same parent, one will frequently, but not
always dominate the other. Can you give a specific example of
when forming a recurrence between two siblings (without one
dominating the other), is useful? </font>
<blockquote type="cite"
cite="mid:OF94AD4AAC.4120412B-ON0025853B.0065396A-8525853B.00656432@notes.na.collabserv.com"><font
size="2">Currently creating such a SCEV expression trips asserts
in `</font><tt><font size="2">CompareSCEVComplexity</font></tt><font
size="2">()` and `</font><tt><font size="2">isKnownViaInduction</font></tt><font
size="2">()` saying that a given SCEV expression cannot be
composed of recurrences that have no dominance relationship
between them. </font><br>
<br>
<font size="2">Michael tried explaining to me why there is this
restriction about dominance, and I'm beginning to understand why
such restriction may be necessary when evaluating or expanding
SCEV expressions in outer scopes (eg. `</font><tt>getSCEVAtScope</tt><font
size="2">(nullptr)`) but I still don't understand why this
restriction is imposed at construction. Shouldn't this
restriction be asserted on when calling getSCEVAtScope instead
of when creating AddRecs, given that simplification steps may
remove identical terms involving non-dominating loops? </font><br>
</blockquote>
<font size="2">Well, SCEV construction is generally done to parallel
IR. SSA requires dominance, so having the SCEV operands require
dominance would seem like a reasonable thing. If you want to
change this, you'll need to motivate the change. (i.e. see above
question)</font><br>
<blockquote type="cite"
cite="mid:OF94AD4AAC.4120412B-ON0025853B.0065396A-8525853B.00656432@notes.na.collabserv.com"><br>
<font size="2">We would appreciate any other insight you might
have about this issue.</font><br>
<br>
<font size="2">Regards,</font><br>
<br>
<font size="2">Bardia Mahjour<br>
Compiler Optimizations<br>
IBM Toronto Software Lab<br>
<a class="moz-txt-link-abbreviated" href="mailto:bmahjour@ca.ibm.com">bmahjour@ca.ibm.com</a></font><br>
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>
<a class="moz-txt-link-freetext" href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a>
</pre>
</blockquote>
</body>
</html>