Displaying 3 results from an estimated 3 matches for "mykindwrapp".
Did you mean:
mykindwrapper
2009 Sep 11
0
[LLVMdev] [proposal] Extensible IR metadata
...would be more convenient for
users if instead of
MDNode *DbgInfo = Inst->getMD(MDKind::DbgTag);
Inst2->setMD(MDKind::DbgTag, DbgInfo);
they could write:
DILocation DbgInfo = Inst->getMD<DILocation>();
inst2->setMD(DbgInfo);
we'd use TheContext->RegisterMDKind<MyKindWrapper>() or
...Register<MyKindWrapper>("name"); to register a new kind. (I prefer
the first.)
These kind wrappers need a couple methods to make them work:
const StringRef KindWrapper::name("...");
KindWrapper(MDNode*); // Except for special cases like LdStAlign.
KindWrap...
2009 Sep 11
12
[LLVMdev] [proposal] Extensible IR metadata
Devang's work on debug info prompted this, thoughts welcome:
http://nondot.org/sabre/LLVMNotes/ExtensibleMetadata.txt
-Chris
2009 Sep 11
4
[LLVMdev] [proposal] Extensible IR metadata
...of
>
> MDNode *DbgInfo = Inst->getMD(MDKind::DbgTag);
> Inst2->setMD(MDKind::DbgTag, DbgInfo);
>
> they could write:
>
> DILocation DbgInfo = Inst->getMD<DILocation>();
> inst2->setMD(DbgInfo);
>
> we'd use TheContext->RegisterMDKind<MyKindWrapper>() or
> ...Register<MyKindWrapper>("name"); to register a new kind. (I prefer
> the first.)
Yes, this is very convenient. This along with the rest of Chris' proposal is
very similar to the way we handled metadata in a compiler I worked on years
ago. It was so usef...