<div dir="ltr">What you are describing sounds a lot like debug info, so you might be able to find pointers there.<div><br></div><div>LLVM code generation looks like:</div><div>IR -> CodeGenPrepare -> SelectionDAG -> MachineInstrs (MI) -> MC -> object file</div>
<div><br></div><div>So, if you want to get as close as possible to the actual instruction layout in the binary, you need to add logic (maybe directives) in the MC layer.  You may need to pass your data down through the other layers if it isn't already available from debug info or CFI.</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Aug 11, 2014 at 6:48 AM, Konstantinos Parasyris <span dir="ltr"><<a href="mailto:koparasy@uth.gr" target="_blank">koparasy@uth.gr</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
I am new in the llvm project and as I was reading the llvm documentation llvm does not support binary creation, however it allows to create object files (*.o) and afterwards link them using the gcc linker.<br>
When compiling a source file I would like to create a second binary file which contains information for each instruction inside the original object file. To be more precise as the instruction stream is written to the object file I would like to write the metadata into a second stream. I would like to ask which llvm source files should I look into  to find the object file creation and writing?<br>

<br>
Thank You<span class="HOEnZb"><font color="#888888"><br>
<br>
Konstantinos Parasyris.<br>
______________________________<u></u>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/llvmdev</a><br>
</font></span></blockquote></div><br></div>