[LLVMdev] Getting Metadata
Михаил
neonomaly.x at gmail.com
Fri May 4 15:57:00 PDT 2012
Hi.
I have strange case:
This is a code for getting metadata from callsite:
....
CallSite CS(cast<Value>(I->first));
SmallVector<std::pair<unsigned int, MDNode*> , 4> MD;
CS.getInstruction()->getAllMetadata(MD);
CS.getInstruction()->dump();
for (SmallVector<std::pair<unsigned int, MDNode*> , 4>::iterator md = MD.begin(); md!=MD.end(); md++) {
for (unsigned i=0; i<md->second->getNumOperands(); i++) {
md->second->dump();
....
Metadata from IR:
....
!2488 = metadata !{metadata !"ISPDIL_MTHD_~IndexReader"}
!2489 = metadata !{metadata !"ISPDIL_MTHD_indexExists"}
!2490 = metadata !{metadata !"ISPDIL_MTHD_isLocked"}
!2491 = metadata !{metadata !"ISPDIL_MTHD_unlock"}
!2492 = metadata !{metadata !"ISPDIL_MTHD_IndexWriter"}
!2493 = metadata !{metadata !"ISPDIL_MTHD_optimize"}
!2494 = metadata !{metadata !"ISPDIL_MTHD_~IndexWriter"}
!2495 = metadata !{metadata !"ISPDIL_MTHD_Init"}
!2496 = metadata !{%"class.lucene::document::Document" zeroinitializer}
....
And I have in console:
invoke void %16(%"class.lucene::index::IndexWriter"* %storemerge)
to label %if.end24 unwind label %lpad, !tbaa !2490
!{metadata !"ISPDIL_MTHD_~IndexWriter"}
Question:
Why I get data from MD !2494 instead of !2490?
P.S. Before this case I have correctly output for CallSite with metadata !2494
Thanks!
Yours sincerely,
Kadysev Mikhail
More information about the llvm-dev
mailing list