cvs commit: fptools/ghc/compiler/basicTypes NewDemand.lhs IdInfo.lhs MkId.lhs fptools/ghc/compiler/coreSyn PprCore.lhs fptools/ghc/compiler/main DriverState.hs fptools/ghc/compiler/simplCore OccurAnal.lhs SimplCore.lhs fptools/ghc/compiler/stranal ...

Simon Peyton Jones simonpj@glass.cse.ogi.edu
Tue, 17 Jul 2001 08:28:31 -0700


simonpj     2001/07/17 08:28:31 PDT

  Modified files:
    ghc/compiler/basicTypes IdInfo.lhs MkId.lhs 
    ghc/compiler/coreSyn PprCore.lhs 
    ghc/compiler/main    DriverState.hs 
    ghc/compiler/simplCore OccurAnal.lhs SimplCore.lhs 
    ghc/compiler/utils   UniqFM.lhs 
  Added files:
    ghc/compiler/basicTypes NewDemand.lhs 
    ghc/compiler/stranal DmdAnal.lhs 
  Log:
  	--------------------------------
  	First cut at the demand analyser
  	--------------------------------
  
  This demand analyser is intended to replace the strictness/absence
  analyser, and the CPR analyser.
  
  This commit adds it to the compiler, but in an entirely non-invasive
  way.
  
  	If you build the compiler without -DDEBUG,
  	you won't get it at all.
  
  	If you build the compiler with -DDEBUG,
  	you'll get the demand analyser, but the existing
  	strictness analyser etc are still there.  All the
  	demand analyser does is to compare its output with
  	the existing stuff and report differences.
  
  There's no cross-module stuff for demand info yet.
  
  The strictness/demand info is put the IdInfo as
  	newStrictnessInfo
  	newDemandInfo
  
  Eventually we'll remove the old ones.
  
  Simon
  
  Revision  Changes    Path
  1.75      +53 -3     fptools/ghc/compiler/basicTypes/IdInfo.lhs
  1.66      +12 -5     fptools/ghc/compiler/basicTypes/MkId.lhs
  1.62      +5 -2      fptools/ghc/compiler/coreSyn/PprCore.lhs
  1.49      +2 -2      fptools/ghc/compiler/main/DriverState.hs
  1.57      +4 -4      fptools/ghc/compiler/simplCore/OccurAnal.lhs
  1.96      +3 -1      fptools/ghc/compiler/simplCore/SimplCore.lhs
  1.31      +2 -2      fptools/ghc/compiler/utils/UniqFM.lhs