Skip to content
  • Sebastian Graf's avatar
    Compute demand signatures assuming idArity · 014ed644
    Sebastian Graf authored and Marge Bot's avatar Marge Bot committed
    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%
    014ed644