<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body>
<div dir="ltr" style="">
<div dir="ltr" style="">
<div></div>
<div style="">
<div>
<div dir="ltr" style="">
<div>FWIW, performance of IntMap could be even better if we had mutable fields and a transient (one with freeze/thaw conversion) interface.</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">We'd need a GHC with <a href="https://github.com/ghc-proposals/ghc-proposals/pull/8/files" style="">https://github.com/ghc-proposals/ghc-proposals/pull/8/files</a> for that, though...</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">I think we could also speed up substitution by using a transient substitution type.</div>
<div dir="ltr" style="">
<div dir="ltr">
<div dir="ltr" style="">
<div dir="ltr" style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
</div>
</div>
</div>
</div>
</div>
</div>
<div id="ms-outlook-mobile-signature">
<div></div>
</div>
</div>
</div>
<div id="id-f2123805-0354-4f47-b029-b32bf45f446b" class="ms-outlook-mobile-reference-message">
<hr style="display: inline-block; width: 98%; font-family: -webkit-standard; font-size: 12pt; color: rgb(0, 0, 0);" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif"><b>Von:</b> ghc-devs <ghc-devs-bounces@haskell.org> im Auftrag von Norman Ramsey <nr@cs.tufts.edu><br>
<b>Gesendet:</b> Donnerstag, Dezember 9, 2021 8:16 PM<br>
<b>An:</b> Andreas Klebinger<br>
<b>Cc:</b> ghc-devs@haskell.org<br>
<b>Betreff:</b> Re: Alternatives for representing a reverse postorder numbering
<div> </div>
</font></div>
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><font size="2"><span style="font-size:11pt;">
<div class="PlainText">> Which I guess mostly depends on how much mileage we get out of the<br>
 > numbering... I rarely have lost sleep over the overhead of looking<br>
 > things up in IntMaps.<br>
<br>
Thank you!!  I found your analysis very helpful.  I will stick with<br>
the IntMaps until and unless things reach a stage where they look<br>
really ugly.<br>
<br>
 > There is no invariant that Cmm control flow is reducible. So we<br>
 > can't always rely on this being the case.<br>
<br>
Good to know.  I would still like to have a simple Haskell example<br>
that generates an irreducible control-flow graph, but for now I can<br>
just write them by hand using .cmm files.<br>
<br>
BTW *every* control-flow graph has at least one reverse-postorder<br>
numbering, whether it is reducible or not.<br>
<br>
<br>
Norman<br>
<br>
_______________________________________________<br>
ghc-devs mailing list<br>
ghc-devs@haskell.org<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" style="">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a><br>
</div>
</span></font></div>
</div>
</body>
</html>