[project @ 2001-02-20 09:38:59 by simonpj]
authorsimonpj <unknown>
Tue, 20 Feb 2001 09:39:00 +0000 (09:39 +0000)
committersimonpj <unknown>
Tue, 20 Feb 2001 09:39:00 +0000 (09:39 +0000)
commitd5c7622a852d7fb55120706ac75ae1323ce3939f
tree3c715329dd03caf087b0b591c96e21df4002c256
parentd79c57bb77d8ed1abd84a09eb15e8c0b6d04b96b
[project @ 2001-02-20 09:38:59 by simonpj]
Back end changes [CgExpr, ClosureInfo, CoreSat, CoreUtils,
~~~~~~~~~~~~~~~~  CmdLineOpts, HscMain, CoreToStg, StgSyn]
* Move CoreTidy and interface-file dumping *before* CoreSat.
  In this way interface files are not in A-normal form, so
  they are less bulky, and a bit easier to use as input to
  the optimiser.

  So now CoreSat is regarded as a pre-pass to CoreToStg.
  Since CoreTidy pins on utterly-final IdInfo, CoreSat has to
  be very careful not to change the arity of any function.

* CoreSat uses OrdList instead of lists to collect floating binds
  This in turn meant I could simplify the FloatingBind type a bit

* Greatly simplfy the StgBinderInfo data type.  It was
  gathering far more information than we needed.

* Add a flag -fkeep-stg-types, which keeps type abstractions
  and applications in STG code, for the benefit of code generators
  that are typed; notably the .NET ILX code generator.
ghc/compiler/codeGen/CgExpr.lhs
ghc/compiler/codeGen/ClosureInfo.lhs
ghc/compiler/coreSyn/CoreSat.lhs
ghc/compiler/coreSyn/CoreUtils.lhs
ghc/compiler/main/CmdLineOpts.lhs
ghc/compiler/main/HscMain.lhs
ghc/compiler/stgSyn/CoreToStg.lhs
ghc/compiler/stgSyn/StgSyn.lhs