Compute demand signatures assuming idArity

Authored by sgraf on Feb 7 2019, 8:34 AM.

Description

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%

Details

Committed
Marge Bot <ben+marge-bot@smart-cactus.org>Apr 30 2019, 7:23 PM
Parents
rGHC1abb76ab8e32: ghci: Ensure that system libffi include path is searched
Branches
Unknown
Tags
Unknown
Marge Bot <ben+marge-bot@smart-cactus.org> committed rGHC014ed644eea9: Compute demand signatures assuming idArity (authored by sgraf).Apr 30 2019, 7:23 PM