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