<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Could I interest you in contributing a patch that fixes this for -debug-ir? Maybe even with the DIBuilder interface David mentioned? :-)<div class=""><br class=""></div><div class="">-- adrian<br class=""><div><blockquote type="cite" class=""><div class="">On Oct 15, 2014, at 9:51 AM, Muneeb Khan <<a href="mailto:muneeb.khan@it.uu.se" class="">muneeb.khan@it.uu.se</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=us-ascii" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Adding the flags in an opt pass seems to do the trick. I added the flags as follows<div class=""><br class=""></div><div class=""><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">M.addModuleFlag(llvm::Module::Warning, <span style="color: #d12f1b" class="">"Dwarf Version"</span>, <span style="color: #272ad8" class="">3</span>);</div><div style="margin: 0px; font-size: 11px; font-family: Menlo; min-height: 13px;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">M.addModuleFlag(llvm::Module::Error, <span style="color: #d12f1b" class="">"Debug Info Version"</span>,</div><div style="margin: 0px; font-size: 11px; font-family: Menlo;" class="">                             llvm::DEBUG_METADATA_VERSION);</div></div><div class=""><br class=""></div><div class="">llvm-dwarfdump and addr2line now point at a line in .ll files, not the source files.</div><div class=""><br class=""></div><div class="">Thanks!</div><div class=""><br class=""></div><div class="">/Muneeb</div><div class=""><br class=""><div class=""><div class="">On 15 Oct 2014, at 18:22, David Blaikie <<a href="mailto:dblaikie@gmail.com" class="">dblaikie@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite" class=""><div dir="ltr" class="">(similarly for the dwarf version flag)</div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Wed, Oct 15, 2014 at 9:22 AM, David Blaikie <span dir="ltr" class=""><<a href="mailto:dblaikie@gmail.com" target="_blank" class="">dblaikie@gmail.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class=""><br class=""><div class="gmail_extra"><br class=""><div class="gmail_quote"><span class="">On Wed, Oct 15, 2014 at 9:04 AM, Adrian Prantl <span dir="ltr" class=""><<a href="mailto:aprantl@apple.com" target="_blank" class="">aprantl@apple.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="">I have no experience with debug-ir, but is it possible that the debug-ir pass never sets the debug info version? There should be a named metadata node <div class="">  !llvm.module.flags = !{..., !123}</div><div class="">  !123 = metadata !{i32 1, metadata !"Debug Info Version", i32 2}<br class=""><div class="">in the .ll output. If it is missing, just have a look at the clang sources for an example how to add a module flag.</div></div></div></blockquote><div class=""><br class=""></div></span><div class="">Perhaps this should be built into DIBuilder, but I'm not sure.<br class=""><br class="">Yeah, looking at how it's implemented, this isn't ideal - we've got the string "Debug Info Version" written in Clang and in LLVM, not using a shared constant or common utility functions owned in the same place. This should probably be part of DIBuilder in some way or another so that clients don't have to duplicate this string, etc.<span class="HOEnZb"><font color="#888888" class=""><br class=""><br class="">- David</font></span></div><div class=""><div class="h5"><div class=""> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class=""><span class=""><font color="#888888" class=""><div class=""><br class=""></div><div class="">-- adrian</div></font></span><div class=""><div class=""><br class=""></div><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Oct 15, 2014, at 8:20 AM, Muneeb Khan <<a href="mailto:muneeb.khan@it.uu.se" target="_blank" class="">muneeb.khan@it.uu.se</a>> wrote:</div><br class=""><div class=""><div style="word-wrap:break-word" class="">Yes, I am using opt and llc from the same version (3.5).<div class="">I know that there were issues with debug-ir in 3.4. I have explored the source tree myself for 3.5 and I know that the pass -debug-ir does kick in with opt.</div><div class="">But I have no clue of what happens with the debug information in (and after) the llc pass.</div><div class=""><br class=""></div><div class="">/Muneeb</div><div class=""><br class=""></div><div class=""><div class="">On 15 Oct 2014, at 17:14, David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank" class="">dblaikie@gmail.com</a>> wrote:</div><br class=""><blockquote type="cite" class=""><div dir="ltr" class=""><br class=""><div class="gmail_extra"><br class=""><div class="gmail_quote">On Wed, Oct 15, 2014 at 7:08 AM, Muneeb Khan <span dir="ltr" class=""><<a href="mailto:muneeb.khan@it.uu.se" target="_blank" class="">muneeb.khan@it.uu.se</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="">Hi,<div class="">I am using the -debug-ir pass in LLVM-3.5 opt tool to map binary information back to the IR instead of the source files.</div><div class="">I use the opt tool to  generate a .ll file. But when I run the llc tool on it to generate an assembly (or object) file, it gives me the following warning</div><div class=""><br class=""></div><div class=""><div style="margin:0px;font-size:11px;font-family:Menlo" class="">warning: ignoring debug info with an invalid version (0) in </div></div></div></blockquote><div class=""><br class="">Are you using opt and llc from the same LLVM version? (mixing and matching could produce this problem)<br class=""><br class="">Or possibly debug-ir was never updated to produce the dubug info version - Adrian?</div><div class=""> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class=""><div style="margin:0px;font-size:11px;font-family:Menlo" class=""><br class=""></div><div class="">How can I use the debug-ir functionality to achieve a mapping from the binary to the IR?</div><div class="">Thanks!</div><span class=""><font color="#888888" class=""><br class="">Muneeb Khan<br class="">PhD student<br class="">Department of Information Technology,<br class="">Uppsala University,<br class="">Sweden<br class="">Tel: <a href="tel:%2B46%2018%20-%20471%201049" value="+46184711049" target="_blank" class="">+46 18 - 471 1049</a><br class=""><br class=""><br class="">


<br class=""></font></span></div><br class="">_______________________________________________<br class="">
LLVM Developers mailing list<br class="">
<a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank" class="">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu/" target="_blank" class="">http://llvm.cs.uiuc.edu</a><br class="">
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank" class="">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br class="">
<br class=""></blockquote></div><br class=""></div></div>
</blockquote></div><br class=""><div class="">
<span style="border-collapse:separate;border-spacing:0px" class=""><br class="">Muneeb Khan<br class="">PhD student<br class="">Department of Information Technology,<br class="">Uppsala University,<br class="">Sweden<br class="">Tel: <a href="tel:%2B46%2018%20-%20471%201049" value="+46184711049" target="_blank" class="">+46 18 - 471 1049</a><br class=""><br class=""><br class=""></span>

</div>
<br class=""></div></div></blockquote></div><br class=""></div></div></blockquote></div></div></div><br class=""></div></div>
</blockquote></div><br class=""></div>
</blockquote></div><br class=""><div class="">
<span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><br class="">Muneeb Khan<br class="">PhD student<br class="">Department of Information Technology,<br class="">Uppsala University,<br class="">Sweden<br class="">Tel: +46 18 - 471 1049<br class=""><br class=""><br class=""></span>

</div>
<br class=""></div></div></div></blockquote></div><br class=""></div></body></html>