[llvm] r216787 - Stuff

David Blaikie dblaikie at gmail.com
Fri Aug 29 15:20:24 PDT 2014


Reverted in r216792


On Fri, Aug 29, 2014 at 3:18 PM, David Blaikie <dblaikie at gmail.com> wrote:

>
>
>
> 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/51462907/attachment.html>


More information about the llvm-commits mailing list