• Sebastian Graf's avatar
    Separate CPR analysis from the Demand analyser · 059c3c9d
    Sebastian Graf authored
    The reasons for that can be found in the wiki:
    https://gitlab.haskell.org/ghc/ghc/wikis/nested-cpr/split-off-cpr
    
    We now run CPR after demand analysis (except for after the final demand
    analysis run just before code gen). CPR got its own dump flags
    (`-ddump-cpr-anal`, `-ddump-cpr-signatures`), but not its own flag to
    activate/deactivate. It will run with `-fstrictness`/`-fworker-wrapper`.
    
    As explained on the wiki page, this step is necessary for a sane Nested
    CPR analysis. And it has quite positive impact on compiler performance:
    
    Metric Decrease:
        T9233
        T9675
        T9961
        T15263
    059c3c9d
Name
Last commit
Last update
.gitlab Loading commit data...
bindisttest Loading commit data...
compiler Loading commit data...
distrib Loading commit data...
docs Loading commit data...
driver Loading commit data...
ghc Loading commit data...
hadrian Loading commit data...
includes Loading commit data...
libffi Loading commit data...
libffi-tarballs @ 14c0d0ca Loading commit data...
libraries Loading commit data...
mk Loading commit data...
nofib @ c9fe4e92 Loading commit data...
rts Loading commit data...
rules Loading commit data...
testsuite Loading commit data...
utils Loading commit data...
.appveyor.sh Loading commit data...
.ghcid Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gitlab-ci.yml Loading commit data...
.gitmodules Loading commit data...
.mailmap Loading commit data...
.travis.yml Loading commit data...
CODEOWNERS Loading commit data...
HACKING.md Loading commit data...
INSTALL.md Loading commit data...
LICENSE Loading commit data...
MAKEHELP.md Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
Vagrantfile Loading commit data...
aclocal.m4 Loading commit data...
appveyor.yml Loading commit data...
boot Loading commit data...
config.guess Loading commit data...
config.sub Loading commit data...
configure.ac Loading commit data...
ghc.mk Loading commit data...
hie.yaml Loading commit data...
install-sh Loading commit data...
llvm-passes Loading commit data...
llvm-targets Loading commit data...
packages Loading commit data...
validate Loading commit data...