Improve transferPolyIdInfo for value-arg abstraction
authorsimonpj@microsoft.com <unknown>
Wed, 4 Feb 2009 08:25:34 +0000 (08:25 +0000)
committersimonpj@microsoft.com <unknown>
Wed, 4 Feb 2009 08:25:34 +0000 (08:25 +0000)
commit6561069ad5d0b11de223686be59372a3b1e6aed7
tree389342f4756c87670cf499f6e9993aea01079b77
parenta77cfb5c39b816d5bf56075ed4d9085c0b658f9e
Improve transferPolyIdInfo for value-arg abstraction

If we float a binding out of a *value* lambda, the fixing-up of IdInfo
is a bit more complicated than before.  Since in principle FloatOut
can do this (and thus can do full lambda lifting), it's imporrtant
that transferPolyIdInfo does the Right Thing.

This doensn't matter unless you use FloatOut's abilty to lambda-lift,
which GHC mostly doesn't, yet.  But Max used it and tripped over this bug.
compiler/basicTypes/Id.lhs
compiler/basicTypes/NewDemand.lhs
compiler/simplCore/SetLevels.lhs
compiler/simplCore/SimplUtils.lhs