Fix a long-standing bug in FloatOut
authorsimonpj@microsoft.com <unknown>
Tue, 22 Apr 2008 11:50:03 +0000 (11:50 +0000)
committersimonpj@microsoft.com <unknown>
Tue, 22 Apr 2008 11:50:03 +0000 (11:50 +0000)
commitc0fe534fbf3d3e30a6f35b355da86e6f18601348
tree51ebb88ddd6ce4e42dd1105d1320b95cfc77bd3c
parent8d6bc9bf51829ea04da5f599b84114ef220f0a19
Fix a long-standing bug in FloatOut

We really should not float anything out of an _inline_me_ Note,
for reasons described in this new comment:
-- Do no floating at all inside INLINE.
-- The SetLevels pass did not clone the bindings, so it's
-- unsafe to do any floating, even if we dump the results
-- inside the Note (which is what we used to do).

I'm about to get rid of these _inline_me_ Notes, but it's
better to fix it anyway.  I found this bug when implementing System IF.
compiler/simplCore/FloatOut.lhs