[LLVMdev] Internal API Changes

Duncan Sands baldrick at free.fr
Sun Sep 4 23:38:29 PDT 2011

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

More information about the llvm-dev mailing list