> On the same topic, I also wrote a blog post simply explaining the > essential things to know > about the inliner and specialiser as I don't think they are generally > appreciated. Comments welcome! > > http://mpickering.github.io/posts/2017-03-20-inlining-and-specialisation.html
LGTM. I'd propose to link to this from GHC manual. I didn't know the bit about INLINE being ignored on a loop-breaker with no warning and no way of changing the loop-breaker. That probably explains puzzling and counter-intuitive results of some alternative layouts of INLINEs in the computation-intensive parts of my code, at least since the time I provide unfoldings for all functions and so discounts don't help GHC in picking the intended loop-breaker. And I don't think this ignoring of the programmer's intent wrt INLINE is documented in the usual places. _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs