<div dir="ltr">Thanks for those references. I tried this with a ~1 week old master and indeed the situation is much better. It's now about 2x slower than 6.0.1. The extra time is still in MergeConsecutiveStores. Do you think there's any scope for further limiting the work done there? The performance is now at least tolerable though.<div><br></div><div>Many thanks to everyone who has looked into these issues; this makes a big difference for some interesting Julia use cases.</div><div><br></div><div>-Jeff</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Mar 19, 2020 at 4:37 PM Florian Hahn <<a href="mailto:florian_hahn@apple.com" target="_blank">florian_hahn@apple.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
> On Mar 19, 2020, at 20:29, Jeff Bezanson via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br>
> <br>
> Hello all,<br>
> <br>
> We are seeing a large compiler performance regression in moving from LLVM 6.0.1 to 8.0.1. We have a long function (~50000 instructions) that used to compile in about a minute but now takes at least an hour. All the time is in MergeConsecutiveStores, I believe due to super-linear behavior in analyzing very long chains of stores. For example, this change makes the problem go away:<br>
> <br>
<br>
Are you seeing the same performance regression on master? <br>
<br>
Over the last year, at least 2 patches landed to improve compile time in similar cases: <a href="https://reviews.llvm.org/D62633" rel="noreferrer" target="_blank">https://reviews.llvm.org/D62633</a> <a href="https://reviews.llvm.org/D65174" rel="noreferrer" target="_blank">https://reviews.llvm.org/D65174</a><br>
<br>
Cheers<br>
Florian<br>
<br>
</blockquote></div>