[llvm-commits] [llvm] r72610 - in /llvm/trunk: bindings/ocaml/llvm/llvm.ml bindings/ocaml/llvm/llvm.mli docs/LangRef.html include/llvm/Bitcode/LLVMBitCodes.h include/llvm/Constants.h include/llvm/MDNode.h include/llvm/Type.h lib/AsmParser/LLLexer.cpp lib/Bitcode/Reader/BitcodeReader.cpp lib/Bitcode/Writer/BitcodeWriter.cpp lib/Transforms/Utils/ValueMapper.cpp lib/VMCore/AsmWriter.cpp lib/VMCore/Constants.cpp lib/VMCore/Type.cpp lib/VMCore/Verifier.cpp test/Feature/embeddedmetadata.ll unittests/VMCore/MetadataTest.cpp

Duncan Sands baldrick at free.fr
Sat May 30 01:28:55 PDT 2009


Hi Nick,

> +<p>The metadata type represents embedded metadata. The only derived type that
> +may contain metadata is <tt>metadata*</tt> or a function type that returns or
> +takes metadata typed parameters, but not pointer to metadata types.</p>

why aren't pointers to metadata allowed for function parameters?

>    <dd>A metadata node is a structure-like constant with the type of an empty
> -  struct.  For example: "<tt>{ } !{ i32 0, { } !"test" }</tt>". Unlike other
> -  constants that are meant to be interpreted as part of the instruction stream,
> -  metadata is a place to attach additional information such as debug info.
> +  struct. 

I thought the type was no longer that of an empty struct, but here it
says it is...  Also, I didn't notice any mention of pointers to metadata
in these docs.

>  <p>A metadata node will attempt to track changes to the values it holds. In
>  the event that a value is deleted, it will be replaced with a typeless
> -"<tt>null</tt>", such as "<tt>{ } !{null, i32 0}</tt>".</p> 
> +"<tt>null</tt>", such as "<tt>metadata !{null, i32 10}</tt>".</p> 

Does this part belong in the LangRef?

Ciao,

Duncan.



More information about the llvm-commits mailing list