Convincing GHC not to produce unfoldings during simplification

Simon Peyton Jones simonpj at
Thu Feb 16 00:17:21 UTC 2017

Yes, inl_act :: Activation controls what inlining takes place
     inl_inline :: InlineSpec says what the user originally wrote

Perhaps I should beef up the comments.


| -----Original Message-----
| From: ghc-devs [mailto:ghc-devs-bounces at] On Behalf Of Ben
| Gamari
| Sent: 12 February 2017 17:48
| To: ghc-devs at
| Subject: Re: Convincing GHC not to produce unfoldings during
| simplification
| Ben Gamari <ben at> writes:
| > I have observed that the floated bindings are not included in the
| > interface file with -O0. Moreover, the core2core output clearly shows
| > the unfoldings being added after the first simplifier phase. I haven't
| > yet determined where in the simplifier these unfoldings are being
| > introduced, but if anyone has ideas I'd love to hear them.
| >
| Ahhh, the inline pragma I was applying was wrong; I wanted
| neverInlinePragma but instead rolled my own (incorrect) version of it.
| It's interesting that neverInlinePragma has a NeverActive activation with
| EmptyInlineSpec. My intuition had lead me to an AlwaysActive activation
| of a NoInline InlineSpec.
| Cheers,
| - Ben

More information about the ghc-devs mailing list