<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sun, Mar 9, 2014 at 10:22 PM, Jan Stolarek <span dir="ltr"><<a href="mailto:jan.stolarek@p.lodz.pl" target="_blank">jan.stolarek@p.lodz.pl</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">> useless basic blocks that haven't been optimized away. Is this to be<br>
> expected?<br>
</div>I believe this should not happen but it's hard to say without looking at a complete dump. Could<br>
you post full Cmm dump + a minimial working example that generates that?<br>
<div class=""><br>
> On a related note, doesn't Cmm support fall-through branches?<br>
</div>Cmm program is represented as a graph with each node (a block of code) having explicit list of<br>
successors. Having fall-throughs in Cmm would require storing blocks linearily with a guarantee<br>
that their order will not change. Note that fall-throughs are present in the generated assembly.<br></blockquote><div><br></div><div>This was me being stupid. GHC happily prints optimized Cmm even if no optimization was done due to a missing flag (cause GHC defaults to -O0). </div>

</div></div></div>