So, I just sync'd to LLVM tip and added the call to DIBuilder::finalize(). But even with that change I am getting an error when I try to run llc: Assertion failed: (TheCU && "Unable to find compile unit!"), function endFunction, file /Users/talin/Projects/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp, line 1306. And looking at the .bc dissassembly, I see there are indeed compile unit MDNodes, although at this level I can't tell if they are hooked up correctly. On Wed, Aug 31, 2011 at 9:07 AM, Devang Patel <dpatel at apple.com> wrote:> > On Aug 22, 2011, at 6:48 AM, Irina Lipov wrote: > > Hi, > I saw your update regarding "*The DIBuilder interface used by front ends > to encode debugging information in the LLVM IR now expects clients to use > DIBuilder::finalize() at the end of translation unit to complete debugging > information encoding"* > Does it mean that in the new version you defer emission of some debug > info until the translation is finished and this is a reason to use > DIBuilder::finalize? > > > Before this change, each type, subprogram and global variable information > used to refer compile unit directly. Now, the compile unit keeps track of > all these info directly. The compile unit MDNode is updated in the > ::finalize() with list of types, subprograms etc.. > - > Devang > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >-- -- Talin -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110904/85508f8a/attachment.html>
Hi Talin,> So, I just sync'd to LLVM tip and added the call to DIBuilder::finalize(). But > even with that change I am getting an error when I try to run llc: > > Assertion failed: (TheCU && "Unable to find compile unit!"), function > endFunction, file > /Users/talin/Projects/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp, line 1306. > > And looking at the .bc dissassembly, I see there are indeed compile unit > MDNodes, although at this level I can't tell if they are hooked up correctly.you might want to take a look at this llvm-gcc commit: r137753 | dpatel | 2011-08-16 23:03:26 +0200 (Tue, 16 Aug 2011) | 3 lines DIBuilder is moving forward to reduce in memory use by MDNodes. However, DIFactory does not emit debug info in updated form. Use LLVMDebugVersion10 directly here so that debug info nodes produced by DIFactory do not claim to adhere newer structure. Ciao, Duncan.> > On Wed, Aug 31, 2011 at 9:07 AM, Devang Patel <dpatel at apple.com > <mailto:dpatel at apple.com>> wrote: > > > On Aug 22, 2011, at 6:48 AM, Irina Lipov wrote: > >> Hi, >> I saw your update regarding "/The |DIBuilder| interface used by front ends >> to encode debugging information in the LLVM IR now expects clients to use >> |DIBuilder::finalize()| at the end of translation unit to complete >> debugging information encoding"/ >> Does it mean that in the new version you defer emission of some debug >> info until the translation is finished and this is a reason to use >> DIBuilder::finalize? > > Before this change, each type, subprogram and global variable information > used to refer compile unit directly. Now, the compile unit keeps track of > all these info directly. The compile unit MDNode is updated in the > ::finalize() with list of types, subprograms etc.. > - > Devang > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu <mailto:LLVMdev at cs.uiuc.edu> http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > > -- > -- Talin > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
On Sun, Sep 4, 2011 at 11:38 PM, Duncan Sands <baldrick at free.fr> wrote:> Hi Talin, > > > So, I just sync'd to LLVM tip and added the call to > DIBuilder::finalize(). But > > even with that change I am getting an error when I try to run llc: > > > > Assertion failed: (TheCU && "Unable to find compile unit!"), function > > endFunction, file > > /Users/talin/Projects/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp, line > 1306. > > > > And looking at the .bc dissassembly, I see there are indeed compile unit > > MDNodes, although at this level I can't tell if they are hooked up > correctly. > > you might want to take a look at this llvm-gcc commit: > > r137753 | dpatel | 2011-08-16 23:03:26 +0200 (Tue, 16 Aug 2011) | 3 lines > > DIBuilder is moving forward to reduce in memory use by MDNodes. However, > DIFactory does not emit debug info in updated form. > Use LLVMDebugVersion10 directly here so that debug info nodes produced by > DIFactory do not claim to adhere newer structure. > > I'm not sure I understand. I'm using DIBuilder, not DIFactory, since Ithought DIFactory was deprecated.> Ciao, Duncan. > > > > > On Wed, Aug 31, 2011 at 9:07 AM, Devang Patel <dpatel at apple.com > > <mailto:dpatel at apple.com>> wrote: > > > > > > On Aug 22, 2011, at 6:48 AM, Irina Lipov wrote: > > > >> Hi, > >> I saw your update regarding "/The |DIBuilder| interface used by > front ends > >> to encode debugging information in the LLVM IR now expects clients > to use > >> |DIBuilder::finalize()| at the end of translation unit to complete > >> debugging information encoding"/ > >> Does it mean that in the new version you defer emission of some > debug > >> info until the translation is finished and this is a reason to use > >> DIBuilder::finalize? > > > > Before this change, each type, subprogram and global variable > information > > used to refer compile unit directly. Now, the compile unit keeps > track of > > all these info directly. The compile unit MDNode is updated in the > > ::finalize() with list of types, subprograms etc.. > > - > > Devang > > > > > > _______________________________________________ > > LLVM Developers mailing list > > LLVMdev at cs.uiuc.edu <mailto:LLVMdev at cs.uiuc.edu> > http://llvm.cs.uiuc.edu > > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > > > > > -- > > -- Talin > > > > > > _______________________________________________ > > LLVM Developers mailing list > > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >-- -- Talin -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110905/9c5a197d/attachment.html>