[project @ 2000-12-06 13:19:49 by simonmar]
authorsimonmar <unknown>
Wed, 6 Dec 2000 13:19:49 +0000 (13:19 +0000)
committersimonmar <unknown>
Wed, 6 Dec 2000 13:19:49 +0000 (13:19 +0000)
commitb5a7f58434f9e79c54707d9036122ceaeacf4a63
treeeaa3fa4e75cac458c6375c84d7eeb19a8574053d
parentd364541154457a49e3c35d671d7a1b57c9c4cca3
[project @ 2000-12-06 13:19:49 by simonmar]
Re-engineer the transition from Core to STG syntax.  Main changes in
  this commit:

    - a new pass, CoreSat, handles saturation of constructors and PrimOps,
      and puts the syntax into STG-like normal form (applications to atoms
      only, etc), modulo type applications and Notes.

    - CoreToStg is now done at the same time as StgVarInfo.  Most of the
      contents of StgVarInfo.lhs have been copied into CoreToStg.lhs and
      some simplifications made.

  less major changes:

    - globalisation of names for the purposes of object splitting is
      now done by the C code generator (which is the Right Place in
      principle, but it was a bit fiddly).

    - CoreTidy now does cloning of local binders and collection of arity
      info.  The IdInfo from CoreTidy is now *almost* the final IdInfo we
      put in the interface file, except for CafInfo.  I'm going to move
      the CafInfo collection into CoreTidy in due course too.

    - and some other minor tidyups while I was in cluster-bomb commit mode.
ghc/compiler/codeGen/CgBindery.lhs
ghc/compiler/codeGen/CgCase.lhs
ghc/compiler/codeGen/CgClosure.lhs
ghc/compiler/codeGen/CgCon.lhs
ghc/compiler/codeGen/CgTailCall.lhs
ghc/compiler/codeGen/ClosureInfo.lhs
ghc/compiler/codeGen/CodeGen.lhs