Adjust Activations for specialise and work/wrap, and better simplify in InlineRules
authorsimonpj@microsoft.com <unknown>
Wed, 16 Dec 2009 14:52:05 +0000 (14:52 +0000)
committersimonpj@microsoft.com <unknown>
Wed, 16 Dec 2009 14:52:05 +0000 (14:52 +0000)
commit76dfa3944cbf149a30398d29e6762a44772c0174
tree396e025e3314a8ab280073bd328c723e24c21649
parentc56450419ef6c819ad86ab01dca6fd2966b11305
Adjust Activations for specialise and work/wrap, and better simplify in InlineRules

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.
compiler/simplCore/SimplUtils.lhs
compiler/simplCore/Simplify.lhs
compiler/specialise/SpecConstr.lhs
compiler/specialise/Specialise.lhs
compiler/stranal/WorkWrap.lhs