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