[LLVMdev] help converting llvm metadata into dwarf tags
innit42 at gmail.com
Mon Aug 23 16:01:43 PDT 2010
I'd like to find the memory location of certain instructions in a
compiled/linked binary. During the IR phase, I tag instructions I'm
interested in with LLVM'-2.7's new metadata (MDNodes with an identifiable
ID). I'd now like to propagate that data to the assembly via a custom DWARF
tag I attach to each X86 instruction created from a tagged IR instruction.
This will then find its way at assembly time into the binary from where I
retrieve it (by locating my custom tags with a DWARF consumer and dumping
the addresses of the instruction they're attached to).
Does this sound reasonable?
I've completed the first part, attaching the MDNodes to IR instructions but
I'm a bit overwhelmed by all the backend stuff.
How can I identify which IR instruction an X86 instruction came from (with a
view to attaching an identifying DW_TAG to it)?
I've found the tag definitions in include/llvm/Support/Dwarf.h and added my
lib/CodeGen/AsmPrinter/DwarfDebug.cpp seems to be the only place that emits
dwarf data into the assembly stream. It also seems to create
a DebugInfoFinder which accesses the IR instructions.
Thanks for any pointers that might slow my spinning head down,
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev