[llvm] r216787 - Stuff

David Blaikie dblaikie at gmail.com
Fri Aug 29 15:18:21 PDT 2014


On Fri, Aug 29, 2014 at 3:17 PM, Aaron Ballman <aaron at aaronballman.com>
wrote:

> On Fri, Aug 29, 2014 at 6:05 PM, David Blaikie <dblaikie at gmail.com> wrote:
> > Author: dblaikie
> > Date: Fri Aug 29 17:05:26 2014
> > New Revision: 216787
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=216787&view=rev
> > Log:
> > Stuff
>
> What about "things" instead? ;-) I suspect a commit log message was missed
> here.
>

;)

Yep, accidentally committed a few things when I realized I hadn't committed
the LLVM patch (FreeDeleter) to go with my Clang change that used it.

Reverting in a moment. (luckily, these patches don't actually cause
anything to fail, though arguably they should... )


>
> ~Aaron
>
> >
> > 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=216787&r1=216786&r2=216787&view=diff
> >
> ==============================================================================
> > --- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (original)
> > +++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Fri Aug 29 17:05:26
> 2014
> > @@ -751,6 +751,11 @@ void DwarfDebug::beginModule() {
> >    for (MDNode *N : CU_Nodes->operands()) {
> >      DICompileUnit CUNode(N);
> >      DwarfCompileUnit &CU = constructDwarfCompileUnit(CUNode);
> > +    DIArray SPs = CUNode.getSubprograms();
> > +    for (unsigned i = 0, e = SPs.getNumElements(); i != e; ++i)
> > +      SPMap.insert(std::make_pair(SPs.getElement(i), &CU));
> > +    if (CU.getCUNode().getEmissionKind() == DIBuilder::LineTablesOnly)
> > +      continue;
> >      DIArray ImportedEntities = CUNode.getImportedEntities();
> >      for (unsigned i = 0, e = ImportedEntities.getNumElements(); i != e;
> ++i)
> >        ScopesWithImportedEntities.push_back(std::make_pair(
> > @@ -761,9 +766,6 @@ void DwarfDebug::beginModule() {
> >      DIArray GVs = CUNode.getGlobalVariables();
> >      for (unsigned i = 0, e = GVs.getNumElements(); i != e; ++i)
> >        CU.createGlobalVariableDIE(DIGlobalVariable(GVs.getElement(i)));
> > -    DIArray SPs = CUNode.getSubprograms();
> > -    for (unsigned i = 0, e = SPs.getNumElements(); i != e; ++i)
> > -      SPMap.insert(std::make_pair(SPs.getElement(i), &CU));
> >      DIArray EnumTypes = CUNode.getEnumTypes();
> >      for (unsigned i = 0, e = EnumTypes.getNumElements(); i != e; ++i) {
> >        DIType Ty(EnumTypes.getElement(i));
> > @@ -833,12 +835,13 @@ void DwarfDebug::finishSubprogramDefinit
> >            // If this subprogram has an abstract definition, reference
> that
> >            SPCU->addDIEEntry(*D, dwarf::DW_AT_abstract_origin,
> *AbsSPDIE);
> >        } else {
> > -        if (!D)
> > +        if (!D && TheCU.getEmissionKind() != DIBuilder::LineTablesOnly)
> >            // Lazily construct the subprogram if we didn't see either
> concrete or
> >            // inlined versions during codegen.
> >            D = SPCU->getOrCreateSubprogramDIE(SP);
> > -        // And attach the attributes
> > -        SPCU->applySubprogramAttributesToDefinition(SP, *D);
> > +        if (D)
> > +          // And attach the attributes
> > +          SPCU->applySubprogramAttributesToDefinition(SP, *D);
> >        }
> >      }
> >    }
> > @@ -1667,6 +1670,17 @@ void DwarfDebug::endFunction(const Machi
> >
> >    LexicalScope *FnScope = LScopes.getCurrentFunctionScope();
> >    DwarfCompileUnit &TheCU = *SPMap.lookup(FnScope->getScopeNode());
> > +  if (TheCU.getCUNode().getEmissionKind() == DIBuilder::LineTablesOnly
> && LScopes.getAbstractScopesList().empty()) {
> > +    assert(ScopeVariables.empty());
> > +    assert(CurrentFnArguments.empty());
> > +    assert(DbgValues.empty());
> > +    assert(AbstractVariables.empty());
> > +    LabelsBeforeInsn.clear();
> > +    LabelsAfterInsn.clear();
> > +    PrevLabel = nullptr;
> > +    CurFn = nullptr;
> > +    return;
> > +  }
> >
> >    // Construct abstract scopes.
> >    for (LexicalScope *AScope : LScopes.getAbstractScopesList()) {
> >
> >
> > _______________________________________________
> > llvm-commits mailing list
> > llvm-commits at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140829/a15e039d/attachment.html>


More information about the llvm-commits mailing list