Modify FloatOut to fix Trac #4237
authorsimonpj@microsoft.com <unknown>
Fri, 13 Aug 2010 16:31:20 +0000 (16:31 +0000)
committersimonpj@microsoft.com <unknown>
Fri, 13 Aug 2010 16:31:20 +0000 (16:31 +0000)
commitd49e85929347bab41b0c411d1009500361195868
tree5413a7ef0ca933344214a29a4a5c6c14fcfead5d
parentff094439a92e505927739fdbdcc42904d9920892
Modify FloatOut to fix Trac #4237

The problem was that a strict binding was getting floated
out into a letrec. This only happened when profiling was
on.  It exposed a fragility in the floating strategy.  This
patch makes it more robust.  See
      Note [Avoiding unnecessary floating]
compiler/simplCore/FloatOut.lhs