[LLVMdev] Out-of-tree passes (Was: LLVM Weekly - #43, Oct 27th 2014)
dblaikie at gmail.com
Mon Oct 27 08:46:33 PDT 2014
On Mon, Oct 27, 2014 at 2:59 AM, David Chisnall <David.Chisnall at cl.cam.ac.uk
> On 27 Oct 2014, at 09:33, Alex Bradbury <asb at asbradbury.org> wrote:
> > The Haskell community have put together a [proposal for an improved LLVM
> > backend to GHC](
> > They intend to ship GHC with its own local LLVM build.
> This post brings up an interesting point:
> > However, the framework is modular - we can extend LLVM with plugins. For
> example, several years ago, Max Bolingbroke wrote a plugin for LLVM's
> alias analysis that improved the generated code in some cases by 12%, just
> by teaching it GHC-specific code generation needs.
> > However, due to lack of API guarantees mentioned above, it becomes
> difficult to support such analysis for arbitrary end users, and we cannot
> fix or tune analysis results to specific versions of LLVM or GHC.
> This is a problem for anyone with an out-of-tree LLVM front end, or
> library, that would benefit from some custom optimisations. Without even a
> nod towards API (let alone ABI) stability for the core IR classes, it's
> very hard for people to gain the full benefit of using LLVM, unless their
> code is part of the LLVM tree and follows the same release cycle as LLVM
> (which doesn't scale).
I don't know that many of the major contributors follow the LLVM release
cycle, fwiw - one of the reasons we all care about stability on ToT so very
(& at least Apple likely has lots of fun internal toys and they manage to
follow ToT pretty closely, not sure about other major contributors - kind
of the nature of many groups who keep their work out of ToT is that they're
not involved in the community)
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev