<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Mon, Feb 6, 2017 at 11:41 AM Chandler Carruth <<a href="mailto:chandlerc@gmail.com">chandlerc@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_quote gmail_msg"><div dir="ltr" class="gmail_msg">On Mon, Feb 6, 2017 at 11:37 AM Sanjoy Das via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org" class="gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br class="gmail_msg"></div><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Let's revert for now then?  Once we figure out some other way to test<br class="gmail_msg">
this, we'll re-land.<br class="gmail_msg"></blockquote><div class="gmail_msg"><br class="gmail_msg"></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg">I'm happy with that or with blindly throttling the test. I don't know how serious the issue being fixed is.</div></div></div></blockquote><div><br></div><div>Seeing no response yet and after an IRC discussion with Sanjoy, I've reduced the iterations in the test to 10 and added a FIXME to figure out how to really test what this patch is intending to test. Landed in r294241.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg"> </div><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br class="gmail_msg">
On Feb 6, 2017 11:27, "Chandler Carruth via llvm-commits"<br class="gmail_msg">
<<a href="mailto:llvm-commits@lists.llvm.org" class="gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br class="gmail_msg">
><br class="gmail_msg">
> On Mon, Feb 6, 2017 at 11:22 AM Chandler Carruth <<a href="mailto:chandlerc@gmail.com" class="gmail_msg" target="_blank">chandlerc@gmail.com</a>> wrote:<br class="gmail_msg">
>><br class="gmail_msg">
>> This adds a unittest that *with optimizations* takes over 20 seconds to run. That seems excessive.<br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
> Specifically...<br class="gmail_msg">
><br class="gmail_msg">
>><br class="gmail_msg">
>> On Mon, Feb 6, 2017 at 4:49 AM Daniil Fukalov via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org" class="gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br class="gmail_msg">
>>><br class="gmail_msg">
>>> +static cl::opt<unsigned><br class="gmail_msg">
>>> +    MaxAddExprDepth("scalar-evolution-max-addexpr-depth", cl::Hidden,<br class="gmail_msg">
>>> +                    cl::desc("Maximum depth of recursive AddExpr"),<br class="gmail_msg">
>>> +                    cl::init(32));<br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
> The recursion limit is 32...<br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
>>><br class="gmail_msg">
>>> +  for (int i = 0; i < 1000; i++) {<br class="gmail_msg">
>>> +    Mul1 = BinaryOperator::CreateMul(Add2, Add1, "", EntryBB);<br class="gmail_msg">
>>> +    Add1 = Add2;<br class="gmail_msg">
>>> +    Add2 = BinaryOperator::CreateAdd(Mul1, Add1, "", EntryBB);<br class="gmail_msg">
>>> +  }<br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
> And the test builds IR with 1000 adds and 1000 muls. It isn't clear at all that this is a reasonable way to unittest something.<br class="gmail_msg">
><br class="gmail_msg">
> What's worse, when I make this 1000 be 10 instead, nothing fails despite transitioning from above to below the recursion limit above. So I'm not really sure what this is testing at all?<br class="gmail_msg">
<br class="gmail_msg">
I don't think it is supposed to fail that way.  The buggy behavior is<br class="gmail_msg">
to, with an infinite (say) recursion limit, take an exponential amount<br class="gmail_msg">
of time to construct the SCEV expression.<br class="gmail_msg">
<br class="gmail_msg">
-- Sanjoy<br class="gmail_msg">
<br class="gmail_msg">
><br class="gmail_msg">
> Anyways, this is making each of my test runs over 50% slower (18s -> 26s) and I suspect several build bots are similarly impacted.<br class="gmail_msg">
><br class="gmail_msg">
> _______________________________________________<br class="gmail_msg">
> llvm-commits mailing list<br class="gmail_msg">
> <a href="mailto:llvm-commits@lists.llvm.org" class="gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a><br class="gmail_msg">
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br class="gmail_msg">
><br class="gmail_msg">
_______________________________________________<br class="gmail_msg">
llvm-commits mailing list<br class="gmail_msg">
<a href="mailto:llvm-commits@lists.llvm.org" class="gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a><br class="gmail_msg">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br class="gmail_msg">
</blockquote></div></div></blockquote></div></div>