[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