[LLVMdev] Calling-convention lowering proposal

David Greene dag at cray.com
Thu Apr 30 09:38:24 PDT 2009


On Wednesday 29 April 2009 19:22, Chris Lattner wrote:
> On Apr 29, 2009, at 8:39 AM, David Greene wrote:
> > This patch changes the LLVM API.  We should have a process for
> > deprecating
> > obsolete interfaces before removing them entirely.  It's a significant
> > maintenance headache to pull down a new release and fix all of the API
> > issues along with tracking down new bugs introduced.
>
> No, we make no attempt at being API compatible across revs of LLVM.

That's a huge mistake going forward if we want to grow the community.

> This is a great way to encourage people to contribute their code to
> the project.  If they want to live with their code out of tree, then
> they have to deal with API breakage.

It's not about people not contributing code.  It's about 3rd party modules 
that have to interface to LLVM.  The LLVM community does not care about
the Cray optimizer code.  But the Cray optimizer code must use LLVM APIs
to translate the Cray IR to LLVM IR.

If we can distinguish between "internal" and "external" LLVM APIs that's fine
but I suspect each person's definition of "internal" and "external" will vary
quite a bit because people interface to LLVM at very different points.

                                                   -Dave



More information about the llvm-dev mailing list