[llvm-dev] RFC: metadata attachments for global variables

Duncan P. N. Exon Smith via llvm-dev llvm-dev at lists.llvm.org
Fri May 6 13:21:21 PDT 2016


> On 2016-May-06, at 13:17, Peter Collingbourne <peter at pcc.me.uk> wrote:
> 
> Hi all,
> 
> I'd like to add support for metadata attachments for global variables in the same way as we did for functions.
> 
> Syntax would be pretty simple:
> @foo = global i32 0, !foo !0, !bar !1
> (the extra commas are required to disambiguate from a named metadata on the next line)

SGTM.

> Benefits:
> 1) Lets us reverse the DIGlobalVariable -> GlobalVariable edge, which should hopefully clear the way for removing the llvm.dbg.cu named metadata node.

A little harder than it sounds (need to somehow support a GlobalVariable that is RAUW'ed with a ConstantInt), but I think this is important to do.

> 
> 2) Allows for bitset metadata to be attached to globals rather than being represented as a named metadata node. This means that bitset metadata is naturally dropped when globals are dropped, and makes it easier to manipulate bitset metadata and build summaries of bitset definitions.
> 
> Comments appreciated.
> 
> Thanks,
> -- 
> -- 
> Peter



More information about the llvm-dev mailing list