How to inline early in a GHC plugin?

Conal Elliott conal at conal.net
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: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20161201/3dbc40bb/attachment-0001.html>


More information about the ghc-devs mailing list