How to inline early in a GHC plugin?

Conal Elliott conal at
Thu Dec 1 21:51:25 UTC 2016

I'm implementing a GHC plugin that installs a `BuiltInRule` that does the
work, and I'd like to learn how to inline more flexibly. Given an
identifier `v`, I'm using `maybeUnfoldingTemplate (realIdUnfolding v)` to
get a `Maybe CoreExpr`. Sometimes this recipe yields `Nothing` until a
later compiler phase. Meanwhile, I guess my variable `v` has been replaced
by one with inlining info. First, am I understanding this mechanism
correctly? A GHC source pointer to how inlining is made available would
help me. Second, can I access the inlining info before it's made available
to the rest of the simplifier?

Thanks,  - Conal
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the ghc-devs mailing list