Fix Trac #2720: inlining and casts
authorsimonpj@microsoft.com <unknown>
Tue, 28 Oct 2008 14:08:28 +0000 (14:08 +0000)
committersimonpj@microsoft.com <unknown>
Tue, 28 Oct 2008 14:08:28 +0000 (14:08 +0000)
commitc3fe0f3699fa59261a340686bba648c981b3511d
tree0ecfb102bf724ba2d5c9e0cfb8675d2d4f9e29ff
parentbc35c8edb6c1ee607d17e381c19820b3f026e59f
Fix Trac #2720: inlining and casts

The issue here is what happens when we have

(f |> co) x

where f is itself marked INLINE.  We want callSiteInline to "see"
the fact that the function is applied, and hence have some incentive
to inline.  I've done this by extending CoreUnfold.CallCtxt with
ValAppCtxt.  I think that should catch this case without messing up
any of the others.
compiler/coreSyn/CoreUnfold.lhs
compiler/simplCore/SimplUtils.lhs