[llvm-commits] [llvm] r77621 - /llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp

Devang Patel devang.patel at gmail.com
Thu Jul 30 22:07:36 PDT 2009


Hi Julien

On Thu, Jul 30, 2009 at 5:58 PM, Julien Lerouge<jlerouge at apple.com> wrote:
> I'm seeing the following when doing a universal debug build of llvm-gcc (non
> bootstrap) for Darwin, when configuring libiberty for the i686->powerpc part:
>
> Assertion failed: (I != CompileUnitMap.end() && "Missing compile unit."), function FindCompileUnit, file /Volumes/llvm
> /src/head/llvm-src/lib/CodeGen/AsmPrinter/DwarfDebug.cpp, line 922.
> conftest.c:53: internal compiler error: Abort trap
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <URL:http://developer.apple.com/bugreporter> for instructions.
>
> Any chance it's related ?

Possible. Is it possible for you to send me .bc file ?
Thanks,
-
Devang
>
> Thanks,
> Julien
>
> On Thu, Jul 30, 2009 at 06:56:46PM +0000, Devang Patel wrote:
>> Author: dpatel
>> Date: Thu Jul 30 13:56:46 2009
>> New Revision: 77621
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=77621&view=rev
>> Log:
>>
>> Start using DebugInfoFinder.
>>
>> Modified:
>>     llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
>>
>> Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp?rev=77621&r1=77620&r2=77621&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (original)
>> +++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Thu Jul 30 13:56:46 2009
>> @@ -1283,14 +1283,12 @@
>>    if (TimePassesIsEnabled)
>>      DebugTimer->startTimer();
>>
>> -  SmallVector<GlobalVariable *, 2> CUs;
>> -  SmallVector<GlobalVariable *, 4> GVs;
>> -  SmallVector<GlobalVariable *, 4> SPs;
>> -  CollectDebugInfoAnchors(*M, CUs, GVs, SPs);
>> +  DebugInfoFinder DbgFinder;
>> +  DbgFinder.processModule(*M);
>>
>>    // Create all the compile unit DIEs.
>> -  for (SmallVector<GlobalVariable *, 2>::iterator I = CUs.begin(),
>> -         E = CUs.end(); I != E; ++I)
>> +  for (DebugInfoFinder::iterator I = DbgFinder.compile_unit_begin(),
>> +         E = DbgFinder.compile_unit_end(); I != E; ++I)
>>      ConstructCompileUnit(*I);
>>
>>    if (CompileUnits.empty()) {
>> @@ -1307,21 +1305,21 @@
>>
>>    // If there is not any debug info available for any global variables and any
>>    // subprograms then there is not any debug info to emit.
>> -  if (GVs.empty() && SPs.empty()) {
>> +  if (DbgFinder.global_variable_count() == 0
>> +      && DbgFinder.subprogram_count() == 0) {
>>      if (TimePassesIsEnabled)
>>        DebugTimer->stopTimer();
>> -
>>      return;
>>    }
>> -
>> +
>>    // Create DIEs for each of the externally visible global variables.
>> -  for (SmallVector<GlobalVariable *, 4>::iterator I = GVs.begin(),
>> -         E = GVs.end(); I != E; ++I)
>> +  for (DebugInfoFinder::iterator I = DbgFinder.global_variable_begin(),
>> +         E = DbgFinder.global_variable_end(); I != E; ++I)
>>      ConstructGlobalVariableDIE(*I);
>>
>>    // Create DIEs for each of the externally visible subprograms.
>> -  for (SmallVector<GlobalVariable *, 4>::iterator I = SPs.begin(),
>> -         E = SPs.end(); I != E; ++I)
>> +  for (DebugInfoFinder::iterator I = DbgFinder.subprogram_begin(),
>> +         E = DbgFinder.subprogram_end(); I != E; ++I)
>>      ConstructSubprogram(*I);
>>
>>    MMI = mmi;
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> --
> Julien Lerouge
> PGP Key Id: 0xB1964A62
> PGP Fingerprint: 392D 4BAD DB8B CE7F 4E5F FA3C 62DB 4AA7 B196 4A62
> PGP Public Key from: keyserver.pgp.com
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>



-- 
-
Devang




More information about the llvm-commits mailing list