Thu Feb  7 07:51:02 PST 2008  [EMAIL PROTECTED]
  * Redo inlining patch, plus some tidying up
  
  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
  
  
  

    M ./compiler/coreSyn/CoreUnfold.lhs -16 +23
    M ./compiler/simplCore/SimplUtils.lhs -49 +63
    M ./compiler/simplCore/Simplify.lhs -9 +14

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to