• simonpj@microsoft.com's avatar
    Adjust Activations for specialise and work/wrap, and better simplify in InlineRules · 76dfa394
    simonpj@microsoft.com authored
    This patch does two main things:
    
    1. Adjusts the way we set the Activation for
    
       a) The wrappers generated by the strictness analyser
          See Note [Wrapper activation] in WorkWrap
    
       b) The RULEs generated by Specialise and SpecConstr
          See Note [Auto-specialisation and RULES] in Specialise
              Note [Transfer activation] in SpecConstr
    
    2. Refines how we set the phase when simplifying the right
       hand side of an InlineRule.  See
       Note [Simplifying inside InlineRules] in SimplUtils.
    
    Most of the extra lines are comments!  
    
    The merit of (2) is that a bit more stuff happens inside InlineRules,
    and that in turn allows better dead-code elimination.
    76dfa394
Simplify.lhs 89.5 KB