[LLVMdev] [RFC] Developer Policy for LLVM C API

Chris Lattner clattner at apple.com
Sun Jul 19 09:14:29 PDT 2015


On Jul 18, 2015, at 11:27 AM, Hal Finkel <hfinkel at anl.gov> wrote:
>> I am strongly in favor of moving the bindings, C or otherwise, to
>> another project.
> 
> I agree. From my viewpoint we have two primary problems with the C API:
> 
> 1. Many of the LLVM contributors don't use it, and thus, don't have a great understanding of how it can be most-usefully updated/improved, and what functionality needs to be exposed. We have most, but not all, transformations; many, but not all, IR features, etc.
> 
> 2. We don't have a good set of tests for it, nor do we have a good set of tutorials/documentation for it. Our tutorials, specifically, are in C++, not in C. We could break the C API and we'd likely remain unaware for quite awhile.
> 
> Putting it in a separate project will force those who have a stake in its existence to take the responsibility of moving it forward. Separate project, or not, however, we should have a better developer policy regarding the C API (and the other bindings) that fall under the LLVM umbrella. Specifically, we should outline what features need to be exposed, and we should actively maintain (and test for) full coverage of those features.

I don’t understand the motivation for this.  Is there tension between clients of the C API that would warrant having different approaches/implementations?  Moving it out to a subproject to get better testing seems a bit silly.

Personally, unless there is a strong and compelling reason to do so, I’d prefer to keep a single set of C bindings to encourage standardization and avoid fragmenting the community.

-Chris



More information about the llvm-dev mailing list