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