[LLVMdev] [RFC] Semantic changes in the Metadata/Value split

Duncan P. N. Exon Smith dexonsmith at apple.com
Fri Dec 5 14:05:09 PST 2014


> On 2014 Dec 5, at 13:43, Peter Collingbourne <peter at pcc.me.uk> wrote:
> 
> On Fri, Dec 05, 2014 at 01:35:48PM -0800, Duncan P. N. Exon Smith wrote:
>> 
>>> On 2014 Dec 5, at 10:53, Peter Collingbourne <peter at pcc.me.uk> wrote:
>>> 
>>> On Fri, Dec 05, 2014 at 09:35:22AM -0800, Duncan P. N. Exon Smith wrote:
>>>> 
>>>>> On 2014-Dec-05, at 00:39, Peter Collingbourne <peter at pcc.me.uk> wrote:
>>>>> 
>>>>> On Thu, Dec 04, 2014 at 06:44:36PM -0800, Duncan P. N. Exon Smith wrote:
>>>>>> As of Monday, I finally got a preliminary patch passing check and
>>>>>> check-clang with the metadata-value split.
>>>>> 
>>>>> Do you have the Go bindings enabled? Because of the changes you made to the
>>>>> DIBuilder interface, I expect that your changes will break the bindings.
>>>> 
>>>> Yes, that's probably true :(.
>>>> 
>>>> There aren't really any DIBuilder changes, but the split itself will
>>>> probably cause compile failures.  I expect the fixes will be fairly
>>>> mechanical, along the lines of the changes I made to lib/IR/Core.cpp.
>>> 
>>> Right.
>>> 
>>>> I don't see instructions for enabling the bindings on the CMake page [1].
>>>> Is there a way to do it?
>>>> 
>>>> [1]: http://llvm.org/docs/CMake.html
>>> 
>>> They should be enabled automatically if you have Go installed (or more
>>> specifically, if you have "go" in your $PATH). There are installation packages
>>> available at:
>>> 
>>> https://golang.org/dl/
>>> 
>>>> (I can compile the bindings on Darwin, right?)
>>> 
>>> I made sure the bindings worked on Darwin before checking them in, so you
>>> should be able to compile them.
>>> 
>> 
>> The attached patch gets the Go test passing.  I'll include it as part of
>> my commit.
>> 
>> Thanks for the help!
> 
> LGTM, thanks.
> 
> Eventually we should be able to expose the Metadata type directly in the Go
> bindings, but that will involve more extensive changes to the bindings and
> its clients. I'll try to do that at some point after this is checked in.
> 

Yup, that makes sense to me.  I think the first step would be to expose
it in include/llvm-c/Core.h.

> Thanks,
> -- 
> Peter





More information about the llvm-dev mailing list