[LLVMdev] difference between MDNode and NamedMDNode

Duncan P. N. Exon Smith dexonsmith at apple.com
Tue Feb 24 18:40:46 PST 2015


> On 2015-Feb-24, at 12:23, Hui Zhang <wayne.huizhang at gmail.com> wrote:
> 
> And, is there specific Class Reference to each version of llvm available online ?
> For some reason, I can only use LLVM 3.3, but the reference online is the latest 3.7, a lot new functions/iterators/operators are missing in the 3.3 source code. Therefore how can I see the doxygen of old llvm ?
> 
> Thanks !

3.3 is very old.  You'll have a hard time getting much help on
anything but ToT here.

Nevertheless, this probably works:

$ configure --enable-doxygen ../llvm
$ make doxygen-llvm

> 
> On Tue, Feb 24, 2015 at 2:54 PM, Hui Zhang <wayne.huizhang at gmail.com> wrote:
> Hello,
> 
> I'm a little confused by the definition of metadata node: does it have to contain different types of data ? And does a named metadata have to have a string name ? I know the named metadata can only contain metadatas
> 
> e.g.
> !3=metadata !{metadata !1, metadata !2}
> 
> Does it belong to NamedMDNode or MDNode ?
> 

I'm not sure I understand the question.

A NamedMDNode looks like this:

  !named = !{!0, !1}

An MDNode looks like this:

  !0 = !{!1, i32 0, i32* @global}

(In 3.3, maybe it looked like the following, not sure:

    !named = metadata !{!0, !1}
    !0 = metadata !{metadata !1, i32 0, i32* @global}
)

Does that help?



More information about the llvm-dev mailing list