[project @ 1999-01-28 09:19:57 by simonpj]
authorsimonpj <unknown>
Thu, 28 Jan 1999 09:20:07 +0000 (09:20 +0000)
committersimonpj <unknown>
Thu, 28 Jan 1999 09:20:07 +0000 (09:20 +0000)
commitb70e2f9494a0206e5102a54de39c3c7f78554095
tree5fe1817dd1eadb8e1d422241c71bf682acc04f6a
parentc015aa507f3c87f1309f261527e2fca2255122ce
[project @ 1999-01-28 09:19:57 by simonpj]
Always inline nullary constructors.  This makes a
difference in:

case x ># y of r {
  True  -> f1 r
  False -> f2 r
  }

The code generator currently has difficulty binding "r"
to the boolean result of the comparision (and the compiler
crashes).  This fix substitutes for r, thus:

case x ># y of r {
  True  -> f1 True
  False -> f2 False
  }

Voila.
ghc/compiler/basicTypes/IdInfo.lhs
ghc/compiler/basicTypes/Name.lhs
ghc/compiler/coreSyn/CoreUnfold.lhs
ghc/compiler/coreSyn/CoreUtils.lhs
ghc/compiler/coreSyn/PprCore.lhs
ghc/compiler/main/MkIface.lhs
ghc/compiler/rename/RnEnv.lhs
ghc/compiler/simplCore/OccurAnal.lhs
ghc/compiler/simplCore/Simplify.lhs