<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">DebugInfo.h is very light weight interface that allows one to manipulate llvm values that holds debugging information directly.<div><br><div><div>On Jan 7, 2009, at 3:22 PM, Talin wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Looking at DebugInfo.h, there are a couple of minor features that DebugInfoBuilder that I would miss:<div><br></div><div>1) The ability to pass in an LLVM type and have it figure out the size, alignment, etc. without having to explicitly pass those values in as parameters to the builder call.</div></blockquote><div><br></div>This can be added. But note, LLVM type lose lots info that can be expressed in a debugging information format like DWARF.</div><div> <br><blockquote type="cite"> <div><br></div><div>2) The ability for the size & alignment to be specified as Constants rather than as int64 so that the "gep trick" can be used to generate target-agnostic debug info. (I don't know if there are other aspects of the debug info which would prevent it from being target-agnostic.)</div></blockquote></div><div><br></div><div>-</div><div>Devang</div><div><br><blockquote type="cite"> <div><br></div><div>-- Talin<br><br><div class="gmail_quote">On Wed, Jan 7, 2009 at 1:53 PM, Chris Lattner <span dir="ltr"><<a href="mailto:clattner@apple.com">clattner@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"> <div style="word-wrap:break-word"><br><div><div>On Jan 7, 2009, at 1:48 PM, Talin wrote:</div><br><blockquote type="cite">Fine by me :)</blockquote><div><br></div>Is it ok to remove DebugInfoBuilder now? I don't think that anything in the tree is using it, what do you think Talin?</div> <div><br></div><font color="#888888"><div>-Chris</div></font><div><div></div><div class="Wj3C7c"><div><br><blockquote type="cite"><br><br><div class="gmail_quote">On Wed, Jan 7, 2009 at 1:35 PM, Chris Lattner <span dir="ltr"><<a href="mailto:clattner@apple.com" target="_blank">clattner@apple.com</a>></span> wrote:<br> <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> <div><br> On Jan 7, 2009, at 3:22 AM, Patrick Boettcher wrote:<br> <br> > Hi list,<br> > hi Talin,<br> ><br> > I'm working on a frontend to generate IR using the IRBuilder from<br> > LLVM.<br> ><br> > Now I want to add source-level-debuginfo and for that I would like<br> > to use the<br> > DebugInfoBuilder as it is taking some of the burderns. Unfortunately<br> > it does<br> > not take all of them, yet.<br> <br> </div>Instead of DebugInfoBuilder, I'd strongly recommend taking a look at<br> include/llvm/Analysis/DebugInfo.h. This is the interface that llvm-<br> gcc and clang both use to produce debug info. If it's ok with Talin,<br> I'd like to eventually remove DebugInfoBuilder. Analysis/DebugInfo.h<br> provides a nice and efficient API for both creating and reading debug<br> info, and abstracts the clients from the actual form (e.g. serialized<br> into GlobalVariables) that the debug info takes.<br> <br> -Chris<br> _______________________________________________<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/mailman/listinfo/llvmdev</a><br> </blockquote></div><br><br clear="all"><br>-- <br>-- Talin<br> _______________________________________________<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/mailman/listinfo/llvmdev</a><br> </blockquote></div><br></div></div></div><br>_______________________________________________<br> LLVM Developers mailing list<br> <a href="mailto:LLVMdev@cs.uiuc.edu">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/mailman/listinfo/llvmdev</a><br> <br></blockquote></div><br><br clear="all"><br>-- <br>-- Talin<br> </div> _______________________________________________<br>LLVM Developers mailing list<br>LLVMdev@cs.uiuc.edu <a href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br></blockquote></div><br><div> <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>-</div><div>Devang</div><div><br></div></div></span><br class="Apple-interchange-newline"> </div><br></div></body></html>