Skip to content
  • Simon Peyton Jones's avatar
    Redo inlining patch, plus some tidying up · fa1c8a7e
    Simon Peyton Jones authored
    This adds back in the patch 
      * UNDO: Be a little keener to inline
    
    It originally broke the compiler because it tickled a Cmm optimisation bug,
    now fixed.  
    
    In revisiting this I have also make inlining a bit cleverer, in response to
    more examples from Roman. In particular
    
      * CoreUnfold.CallCtxt is a data type that tells something about
        the context of a call.  The new feature is that if the context is
        the argument position of a function call, we record both 
    	- whether the function (or some higher up function) has rules
    	- what the argument discount in that position is
        Either of these make functions keener to inline, even if it's
        in a lazy position
    
      * There was conseqential tidying up on the data type of CallCont.
        In particular I got rid of the now-unused LetRhsFlag
    
    
    fa1c8a7e