[LLVMdev] [proposal] Extensible IR metadata

Renato Golin rengolin at systemcall.org
Sat Sep 12 01:39:06 PDT 2009

2009/9/12 Nick Lewycky <nicholas at mxc.ca>:
> I'm wondering that too. Can we replace LLVM function attributes with
> metadata? There's been some pushback to adding new function attributes
> in the past and it would be nice to be able to prototype new ones
> without having to change all of the vm core.

I just wonder how stable that would become as time passes by.

It is true that enabling the addition of metadata as part of the
structure is good for specialized optimizations that are not
represented internally (or relevant) in the LLVM core, but there is a
practical limit on what you can do.

My (humble) opinion is that basic language structure, such as function
attributes, should still be part of the core. And if there isn't
always easy ways of getting them and passing them through we should
make it easier... in the core.

Metadata is a completely different beast. It's good for things that
only your own optimization pass or machine code will understand. It's
an additional rather than required information, which the lack of
would be completely harmless.

I completely agree with the text argument that the demand (and
necessity) for metadata is increasing, but that doesn't mean we should
transform everything into it.

The RDF [1] developments sent a clear message that metadata per se are
too loose to hold value. We need a fixed, basic structure on where to
stick metadata, otherwise it'd just be a big slimy blob of untreatable

My two cents...


[1] http://www.w3.org/RDF/

Reclaim your digital rights, eliminate DRM, learn more at

More information about the llvm-dev mailing list