cvs commit: fptools/ghc/compiler/basicTypes Id.lhs IdInfo.lhs MkId.lhs fptools/ghc/compiler/codeGen CgExpr.lhs ClosureInfo.lhs CodeGen.lhs fptools/ghc/compiler/coreSyn CorePrep.lhs CoreTidy.lhs PprCore.lhs CoreSat.lhs fptools/ghc/compiler/hsSyn HsCore.lhs ...

Simon Marlow simonmar@glass.cse.ogi.edu
Tue, 13 Mar 2001 04:50:33 -0800


simonmar    2001/03/13 04:50:33 PST

  Modified files:
    ghc/compiler/basicTypes Id.lhs IdInfo.lhs MkId.lhs 
    ghc/compiler/codeGen CgExpr.lhs ClosureInfo.lhs CodeGen.lhs 
    ghc/compiler/coreSyn CoreTidy.lhs PprCore.lhs 
    ghc/compiler/hsSyn   HsCore.lhs 
    ghc/compiler/main    DriverPhases.hs ErrUtils.lhs HscMain.lhs 
                         HscTypes.lhs MkIface.lhs 
    ghc/compiler/deSugar Desugar.lhs 
    ghc/compiler/profiling SCCfinal.lhs 
    ghc/compiler/rename  ParseIface.y Rename.lhs RnHsSyn.lhs 
                         RnSource.lhs 
    ghc/compiler/simplCore SimplCore.lhs 
    ghc/compiler/simplStg SRT.lhs SimplStg.lhs StgStats.lhs 
    ghc/compiler/stgSyn  CoreToStg.lhs StgLint.lhs StgSyn.lhs 
    ghc/compiler/typecheck TcIfaceSig.lhs 
    ghc/compiler/types   Generics.lhs 
  Added files:
    ghc/compiler/coreSyn CorePrep.lhs 
  Removed files:
    ghc/compiler/coreSyn CoreSat.lhs 
  Log:
  Some rearrangements that Simon & I have been working on recently:
  
      - CoreSat is now CorePrep, and is a general "prepare-for-code-
        generation" pass.  It does cloning, saturation of constructors &
        primops, A-normal form, and a couple of other minor fiddlings.
  
      - CoreTidy no longer does cloning, and minor fiddlings.  It doesn't
        need the unique supply any more, so that's removed.
  
      - CoreToStg now collects CafInfo and the list of CafRefs for each
        binding.  The SRT pass is much simpler now.
  
      - IdInfo now has a CgInfo field for "code generator info".  It currently
        contains arity (the actual code gen arity which affects the calling
        convention as opposed to the ArityInfo which is a measure of how
        many arguments the Id can be applied to before it does any work), and
        CafInfo.
  
        Previously we overloaded the ArityInfo field to contain both
        codegen arity and simplifier arity.  Things are cleaner now.
  
      - CgInfo is collected by CoreToStg, and passed back into CoreTidy in
        a loop.  The compiler will complain rather than going into a black
        hole if the CgInfo is pulled on too early.
  
      - Worker info in an interface file now comes with arity info attached.
        Previously the main arity info was overloaded for this purpose, but
        it lead to a few hacks in the compiler, this tidies things up somewhat.
  
  Bottom line: we removed several fragilities, and tidied up a number of
  things.  Code size should be smaller, but we'll see...
  
  Revision  Changes    Path
  1.85      +19 -7     fptools/ghc/compiler/basicTypes/Id.lhs
  1.70      +87 -24    fptools/ghc/compiler/basicTypes/IdInfo.lhs
  1.56      +26 -20    fptools/ghc/compiler/basicTypes/MkId.lhs
  1.42      +21 -19    fptools/ghc/compiler/codeGen/CgExpr.lhs
  1.46      +7 -12     fptools/ghc/compiler/codeGen/ClosureInfo.lhs
  1.37      +8 -8      fptools/ghc/compiler/codeGen/CodeGen.lhs
  1.44      +140 -332  fptools/ghc/compiler/coreSyn/CoreTidy.lhs
  1.60      +3 -3      fptools/ghc/compiler/coreSyn/PprCore.lhs
  1.35      +6 -4      fptools/ghc/compiler/hsSyn/HsCore.lhs
  1.7       +2 -8      fptools/ghc/compiler/main/DriverPhases.hs
  1.36      +6 -1      fptools/ghc/compiler/main/ErrUtils.lhs
  1.108     +126 -91   fptools/ghc/compiler/main/HscMain.lhs
  1.71      +30 -14    fptools/ghc/compiler/main/HscTypes.lhs
  1.126     +14 -9     fptools/ghc/compiler/main/MkIface.lhs
  1.44      +15 -7     fptools/ghc/compiler/deSugar/Desugar.lhs
  1.28      +25 -35    fptools/ghc/compiler/profiling/SCCfinal.lhs
  1.103     +3 -3      fptools/ghc/compiler/rename/ParseIface.y
  1.157     +0 -1      fptools/ghc/compiler/rename/Rename.lhs
  1.53      +1 -1      fptools/ghc/compiler/rename/RnHsSyn.lhs
  1.115     +2 -2      fptools/ghc/compiler/rename/RnSource.lhs
  1.94      +8 -7      fptools/ghc/compiler/simplCore/SimplCore.lhs
  1.13      +101 -341  fptools/ghc/compiler/simplStg/SRT.lhs
  1.40      +5 -10     fptools/ghc/compiler/simplStg/SimplStg.lhs
  1.11      +3 -3      fptools/ghc/compiler/simplStg/StgStats.lhs
  1.76      +361 -167  fptools/ghc/compiler/stgSyn/CoreToStg.lhs
  1.35      +4 -4      fptools/ghc/compiler/stgSyn/StgLint.lhs
  1.33      +60 -33    fptools/ghc/compiler/stgSyn/StgSyn.lhs
  1.70      +24 -18    fptools/ghc/compiler/typecheck/TcIfaceSig.lhs
  1.13      +3 -3      fptools/ghc/compiler/types/Generics.lhs