[llvm] r192938 - Temporarily revert r192749 as it is causing problems for LTO and

Adrian Prantl aprantl at apple.com
Fri Oct 18 09:55:07 PDT 2013


Weird, the buildbot is still red:

http://lab.llvm.org:8013/builders/clang-x86_64-darwin11-Rlto/builds/937

-- adrian

On Oct 17, 2013, at 18:57, Eric Christopher <echristo at gmail.com> wrote:

> Author: echristo
> Date: Thu Oct 17 20:57:30 2013
> New Revision: 192938
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=192938&view=rev
> Log:
> Temporarily revert r192749 as it is causing problems for LTO and
> requires a more in depth change to the IR structure.
> 
> 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=192938&r1=192937&r2=192938&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (original)
> +++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Thu Oct 17 20:57:30 2013
> @@ -827,7 +827,14 @@ CompileUnit *DwarfDebug::constructCompil
> 
> // Construct subprogram DIE.
> void DwarfDebug::constructSubprogramDIE(CompileUnit *TheCU, const MDNode *N) {
> -  assert(!SPMap[N] && "Trying to create a subprogram DIE twice!");
> +  // FIXME: We should only call this routine once, however, during LTO if a
> +  // program is defined in multiple CUs we could end up calling it out of
> +  // beginModule as we walk the CUs.
> +
> +  CompileUnit *&CURef = SPMap[N];
> +  if (CURef)
> +    return;
> +  CURef = TheCU;
> 
>   DISubprogram SP(N);
>   if (!SP.isDefinition())
> @@ -836,7 +843,6 @@ void DwarfDebug::constructSubprogramDIE(
>     return;
> 
>   DIE *SubprogramDie = TheCU->getOrCreateSubprogramDIE(SP);
> -  SPMap[N] = TheCU;
> 
>   // Expose as a global name.
>   TheCU->addGlobalName(SP.getName(), SubprogramDie, resolve(SP.getContext()));
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list