<div dir="ltr"><div>Hi,</div><div><br></div><div>I'm not sure I see all the context of the conversation, but it is entirely possible that code with many local constraints regresses the pattern-match checker (which is accounted to Desugaring in the profile emitted by -v2), I'm afraid. That simply has to do with the fact that we now actually care about them, previously they were mostly discarded.</div><div><br></div><div>I'd be glad if you submitted a relatively isolated reproducer of what is fast with 8.8 and slow with 8.10 (even better 9.0).</div><div>I hope that things have improved since we fixed <a href="https://gitlab.haskell.org/ghc/ghc/-/issues/17836">https://gitlab.haskell.org/ghc/ghc/-/issues/17836</a>, which is part of 9.0 but not of 8.10.</div><div><br></div><div>Cheers,</div><div>Sebastian<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Am Mo., 15. Feb. 2021 um 19:04 Uhr schrieb Troels Henriksen <<a href="mailto:athas@sigkill.dk">athas@sigkill.dk</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Carter Schonwald <<a href="mailto:carter.schonwald@gmail.com" target="_blank">carter.schonwald@gmail.com</a>> writes:<br>
<br>
> Ccing ghc devs since that’s a better forum perhaps<br>
> Crazy theory:<br>
><br>
> this is a regression due the the partial changes to pattern matching<br>
> coverage checking in 8.10 that finished / landed in ghc 9<br>
><br>
> Why:<br>
> Desugaring is when pattern/ case statement translation happens I think?<br>
> And the only obvious “big thing” is that you have some huge , albeit sane<br>
> for a compiler, pattern matching<br>
><br>
> I’d first check if the new ghc 9 release doesn’t have that regression in<br>
> build time that you experienced.  And if it does file a ticket.<br>
><br>
> I may be totally wrong, but that seems like a decent likelihood !<br>
<br>
You may be right!  Another module that regressed is also mainly<br>
characterised by large-but-not-insane case expressions:<br>
<a href="https://github.com/diku-dk/futhark/blob/d0839412bdd11884d75a1494dd5de5191833f39e/src/Futhark/Optimise/Simplify/Rules.hs" rel="noreferrer" target="_blank">https://github.com/diku-dk/futhark/blob/d0839412bdd11884d75a1494dd5de5191833f39e/src/Futhark/Optimise/Simplify/Rules.hs</a><br>
<br>
I'll try to split these modules up a little bit (I should have done so a<br>
while ago anyway) and maybe that will make the picture even clearer.<br>
<br>
-- <br>
\  Troels<br>
/\ Henriksen<br>
_______________________________________________<br>
ghc-devs mailing list<br>
<a href="mailto:ghc-devs@haskell.org" target="_blank">ghc-devs@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a><br>
</blockquote></div>