• Simon Peyton Jones's avatar
    Eta-expand the Simplifier monad · 3d345c96
    Simon Peyton Jones authored
    This patch eta-expands the Simplifier's monad, using the method
    explained in GHC.Core.Unify Note [The one-shot state monad trick].
    It's part of the exta-expansion programme in #18202.
    
    It's a tiny patch, but is worth a 1-2% reduction in bytes-allocated
    by the compiler.  Here's the list, based on the compiler-performance
    tests in perf/compiler:
    
                        Reduction in bytes allocated
       T10858(normal)      -0.7%
       T12425(optasm)      -1.3%
       T13056(optasm)      -1.8%
       T14683(normal)      -1.1%
       T15164(normal)      -1.3%
       T15630(normal)      -1.4%
       T17516(normal)      -2.3%
       T18282(normal)      -1.6%
       T18304(normal)      -0.8%
       T1969(normal)       -0.6%
       T4801(normal)       -0.8%
       T5321FD(normal)     -0.7%
       T5321Fun(normal)    -0.5%
       T5642(normal)       -0.9%
       T6048(optasm)       -1.1%
       T9020(optasm)       -2.7%
       T9233(normal)       -0.7%
       T9675(optasm)       -0.5%
       T9961(normal)       -2.9%
       WWRec(normal)       -1.2%
    
    Metric Decrease:
        T12425
        T9020
        T9961
    3d345c96
Code owners : Ben Gamari
Monad.hs 9.78 KB