cvs commit: fptools/ghc/compiler/basicTypes MkId.lhs
fptools/ghc/compiler/coreSyn
CoreLint.lhs CorePrep.lhs CoreSyn.lhs CoreTidy.lhs CoreUnfold.lhs
CoreUtils.lhs PprCore.lhs PprExternalCore.lhs
fptools/ghc/compiler/cprAnalysis CprAnalyse.lhs fptools/ghc/compiler/deSugar
...
Simon Peyton Jones
simonpj at haskell.org
Wed Dec 22 07:07:43 EST 2004
simonpj 2004/12/22 04:07:42 PST
Modified files:
ghc/compiler/basicTypes MkId.lhs
ghc/compiler/coreSyn CoreLint.lhs CorePrep.lhs CoreSyn.lhs
CoreTidy.lhs CoreUnfold.lhs CoreUtils.lhs
PprCore.lhs PprExternalCore.lhs
ghc/compiler/cprAnalysis CprAnalyse.lhs
ghc/compiler/deSugar DsArrows.lhs DsCCall.lhs DsListComp.lhs
DsUtils.lhs MatchLit.lhs
ghc/compiler/iface TcIface.lhs
ghc/compiler/main TidyPgm.lhs
ghc/compiler/ndpFlatten Flattening.hs NDPCoreUtils.hs
PArrAnal.hs
ghc/compiler/prelude PrelRules.lhs
ghc/compiler/simplCore FloatIn.lhs FloatOut.lhs
LiberateCase.lhs OccurAnal.lhs
SetLevels.lhs SimplUtils.lhs
Simplify.lhs
ghc/compiler/specialise Rules.lhs SpecConstr.lhs
Specialise.lhs
ghc/compiler/stgSyn CoreToStg.lhs
ghc/compiler/stranal DmdAnal.lhs WorkWrap.lhs WwLib.lhs
ghc/compiler/types TyCon.lhs
ghc/compiler/utils Util.lhs
Log:
----------------------------------------
New Core invariant: keep case alternatives in sorted order
----------------------------------------
We now keep the alternatives of a Case in the Core language in sorted
order. Sorted, that is,
by constructor tag for DataAlt
by literal for LitAlt
The main reason is that it makes matching and equality testing more robust.
But in fact some lines of code vanished from SimplUtils.mkAlts.
WARNING: no change to interface file formats, but you'll need to recompile
your libraries so that they generate interface files that respect the
invariant.
Revision Changes Path
1.117 +6 -7 fptools/ghc/compiler/basicTypes/MkId.lhs
1.84 +9 -1 fptools/ghc/compiler/coreSyn/CoreLint.lhs
1.36 +0 -3 fptools/ghc/compiler/coreSyn/CorePrep.lhs
1.55 +28 -3 fptools/ghc/compiler/coreSyn/CoreSyn.lhs
1.80 +0 -2 fptools/ghc/compiler/coreSyn/CoreTidy.lhs
1.95 +0 -1 fptools/ghc/compiler/coreSyn/CoreUnfold.lhs
1.131 +9 -15 fptools/ghc/compiler/coreSyn/CoreUtils.lhs
1.85 +0 -2 fptools/ghc/compiler/coreSyn/PprCore.lhs
1.8 +0 -1 fptools/ghc/compiler/coreSyn/PprExternalCore.lhs
1.21 +4 -4 fptools/ghc/compiler/cprAnalysis/CprAnalyse.lhs
1.13 +0 -1 fptools/ghc/compiler/deSugar/DsArrows.lhs
1.71 +1 -7 fptools/ghc/compiler/deSugar/DsCCall.lhs
1.49 +2 -3 fptools/ghc/compiler/deSugar/DsListComp.lhs
1.78 +11 -10 fptools/ghc/compiler/deSugar/DsUtils.lhs
1.37 +1 -1 fptools/ghc/compiler/deSugar/MatchLit.lhs
1.27 +0 -1 fptools/ghc/compiler/iface/TcIface.lhs
1.19 +6 -7 fptools/ghc/compiler/main/TidyPgm.lhs
1.11 +0 -1 fptools/ghc/compiler/ndpFlatten/Flattening.hs
1.5 +0 -1 fptools/ghc/compiler/ndpFlatten/NDPCoreUtils.hs
1.5 +0 -1 fptools/ghc/compiler/ndpFlatten/PArrAnal.hs
1.41 +0 -1 fptools/ghc/compiler/prelude/PrelRules.lhs
1.36 +0 -1 fptools/ghc/compiler/simplCore/FloatIn.lhs
1.35 +0 -1 fptools/ghc/compiler/simplCore/FloatOut.lhs
1.27 +0 -1 fptools/ghc/compiler/simplCore/LiberateCase.lhs
1.73 +1 -3 fptools/ghc/compiler/simplCore/OccurAnal.lhs
1.62 +0 -1 fptools/ghc/compiler/simplCore/SetLevels.lhs
1.94 +49 -48 fptools/ghc/compiler/simplCore/SimplUtils.lhs
1.154 +3 -6 fptools/ghc/compiler/simplCore/Simplify.lhs
1.45 +1 -5 fptools/ghc/compiler/specialise/Rules.lhs
1.23 +0 -2 fptools/ghc/compiler/specialise/SpecConstr.lhs
1.91 +1 -2 fptools/ghc/compiler/specialise/Specialise.lhs
1.114 +0 -1 fptools/ghc/compiler/stgSyn/CoreToStg.lhs
1.52 +0 -4 fptools/ghc/compiler/stranal/DmdAnal.lhs
1.62 +0 -2 fptools/ghc/compiler/stranal/WorkWrap.lhs
1.70 +0 -6 fptools/ghc/compiler/stranal/WwLib.lhs
1.78 +2 -0 fptools/ghc/compiler/types/TyCon.lhs
1.71 +6 -1 fptools/ghc/compiler/utils/Util.lhs
More information about the Cvs-ghc
mailing list