[project @ 2000-12-06 13:03:28 by simonmar]
authorsimonmar <unknown>
Wed, 6 Dec 2000 13:03:30 +0000 (13:03 +0000)
committersimonmar <unknown>
Wed, 6 Dec 2000 13:03:30 +0000 (13:03 +0000)
commitd364541154457a49e3c35d671d7a1b57c9c4cca3
treefa9c35958837ed79cfec92de1a5056e9d7af0b4a
parent91925e64be392662836f75d6648776994b1cae28
[project @ 2000-12-06 13:03:28 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.
23 files changed:
ghc/compiler/basicTypes/Name.lhs
ghc/compiler/coreSyn/CoreLint.lhs
ghc/compiler/coreSyn/CoreSat.lhs [new file with mode: 0644]
ghc/compiler/coreSyn/CoreTidy.lhs
ghc/compiler/coreSyn/CoreUtils.lhs
ghc/compiler/cprAnalysis/CprAnalyse.lhs
ghc/compiler/deSugar/Desugar.lhs
ghc/compiler/main/CmdLineOpts.lhs
ghc/compiler/main/DriverFlags.hs
ghc/compiler/main/ErrUtils.lhs
ghc/compiler/simplCore/CSE.lhs
ghc/compiler/simplCore/FloatIn.lhs
ghc/compiler/simplCore/FloatOut.lhs
ghc/compiler/simplCore/LiberateCase.lhs
ghc/compiler/simplCore/SimplCore.lhs
ghc/compiler/simplStg/LambdaLift.lhs [deleted file]
ghc/compiler/simplStg/SRT.lhs
ghc/compiler/simplStg/SimplStg.lhs
ghc/compiler/simplStg/StgVarInfo.lhs [deleted file]
ghc/compiler/specialise/Specialise.lhs
ghc/compiler/stgSyn/CoreToStg.lhs
ghc/compiler/stranal/StrictAnal.lhs
ghc/compiler/stranal/WorkWrap.lhs