[Git][ghc/ghc][wip/gc/progress-to-eventlog] 7 commits: Compute demand signatures assuming idArity

Marge Bot gitlab at gitlab.haskell.org
Wed May 1 00:41:44 UTC 2019



 Marge Bot pushed to branch wip/gc/progress-to-eventlog at Glasgow Haskell Compiler / GHC


Commits:
014ed644 by Sebastian Graf at 2019-05-01T00:23:21Z
Compute demand signatures assuming idArity

This does four things:

1. Look at `idArity` instead of manifest lambdas to decide whether to use LetUp
2. Compute the strictness signature in LetDown assuming at least `idArity`
   incoming arguments
3. Remove the special case for trivial RHSs, which is subsumed by 2
4. Don't perform the W/W split when doing so would eta expand a binding.
   Otherwise we would eta expand PAPs, causing unnecessary churn in the
   Simplifier.

NoFib Results

--------------------------------------------------------------------------------
        Program         Allocs    Instrs
--------------------------------------------------------------------------------
 fannkuch-redux          +0.3%      0.0%
             gg          -0.0%     -0.1%
       maillist          +0.2%     +0.2%
        minimax           0.0%     +0.8%
         pretty           0.0%     -0.1%
        reptile          -0.0%     -1.2%
--------------------------------------------------------------------------------
            Min          -0.0%     -1.2%
            Max          +0.3%     +0.8%
 Geometric Mean          +0.0%     -0.0%

- - - - -
d37d91e9 by John Ericson at 2019-05-01T00:29:31Z
Generate settings by make/hadrian instead of configure

This allows it to eventually become stage-specific

- - - - -
53d1cd96 by John Ericson at 2019-05-01T00:29:31Z
Remove settings.in

It is no longer needed

- - - - -
2988ef5e by John Ericson at 2019-05-01T00:29:31Z
Move cGHC_UNLIT_PGM to be "unlit command" in settings

The bulk of the work was done in #712, making settings be make/Hadrian
controlled. This commit then just moves the unlit command rules in
make/Hadrian from the `Config.hs` generator to the `settings` generator
in each build system.

I think this is a good change because the crucial benefit is *settings*
don't affect the build: ghc gets one baby step closer to being a regular
cabal executable, and make/Hadrian just maintains settings as part of
bootstrapping.

- - - - -
37a4fd97 by Alp Mestanogullari at 2019-05-01T00:35:35Z
Build Hadrian with -Werror in the 'ghc-in-ghci' CI job

- - - - -
1bef62c3 by Ben Gamari at 2019-05-01T00:41:42Z
ErrUtils: Emit progress messages to eventlog

- - - - -
ebfa3528 by Ben Gamari at 2019-05-01T00:41:42Z
Emit GHC timing events to eventlog

- - - - -


30 changed files:

- .gitlab-ci.yml
- aclocal.m4
- compiler/basicTypes/Demand.hs
- compiler/basicTypes/Id.hs
- compiler/basicTypes/IdInfo.hs
- compiler/basicTypes/Var.hs
- compiler/coreSyn/CoreArity.hs
- compiler/coreSyn/CoreLint.hs
- compiler/coreSyn/CoreUnfold.hs
- compiler/ghc.mk
- compiler/main/ErrUtils.hs
- compiler/main/SysTools.hs
- compiler/simplCore/SimplMonad.hs
- compiler/simplCore/SimplUtils.hs
- compiler/stranal/DmdAnal.hs
- compiler/stranal/WorkWrap.hs
- compiler/stranal/WwLib.hs
- configure.ac
- distrib/configure.ac.in
- ghc.mk
- ghc/ghc.mk
- hadrian/cfg/system.config.in
- + hadrian/ci.project
- hadrian/doc/make.md
- hadrian/src/Oracles/Setting.hs
- hadrian/src/Rules/BinaryDist.hs
- hadrian/src/Rules/Configure.hs
- hadrian/src/Rules/Generate.hs
- hadrian/src/Rules/SourceDist.hs
- includes/ghc.mk


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/compare/e62fc49c8cd28874ba3f89f32f02c3534567b7b6...ebfa35284741fca47719f531f0996261441f75b0

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/compare/e62fc49c8cd28874ba3f89f32f02c3534567b7b6...ebfa35284741fca47719f531f0996261441f75b0
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20190430/be68a386/attachment-0001.html>


More information about the ghc-commits mailing list