From c8e77640a53823b233f3f7a5c2be12aef9ebc69e Mon Sep 17 00:00:00 2001 From: Devang Patel Date: Thu, 1 Apr 2010 22:47:29 +0000 Subject: [PATCH] Revert r100117. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100145 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 52c7089bb28..fb91d4f9849 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -2147,8 +2147,6 @@ bool DwarfDebug::extractScopeInformation() { DenseMap MIIndexMap; unsigned MIIndex = 0; - MDNode *PrevScope = NULL; - MDNode *PrevInlinedAt = NULL; // Scan each instruction and create scopes. First build working set of scopes. for (MachineFunction::const_iterator I = MF->begin(), E = MF->end(); I != E; ++I) { @@ -2162,23 +2160,17 @@ bool DwarfDebug::extractScopeInformation() { if (DL.isUnknown()) continue; DILocation DLT = MF->getDILocation(DL); DIScope DLTScope = DLT.getScope(); - MDNode *NewScope = DLTScope.getNode(); - if (!NewScope) continue; + if (!DLTScope.getNode()) continue; // There is no need to create another DIE for compile unit. For all // other scopes, create one DbgScope now. This will be translated // into a scope DIE at the end. if (DLTScope.isCompileUnit()) continue; - MDNode *NewInlinedAt = DLT.getOrigLocation().getNode(); - if (NewScope == PrevScope && NewInlinedAt == PrevInlinedAt) continue; - createDbgScope(NewScope, NewInlinedAt); - PrevScope = NewScope; - PrevInlinedAt = NewInlinedAt; + createDbgScope(DLTScope.getNode(), DLT.getOrigLocation().getNode()); } } + // Build scope hierarchy using working set of scopes. - PrevScope = NULL; - PrevInlinedAt = NULL; for (MachineFunction::const_iterator I = MF->begin(), E = MF->end(); I != E; ++I) { for (MachineBasicBlock::const_iterator II = I->begin(), IE = I->end(); @@ -2190,18 +2182,14 @@ bool DwarfDebug::extractScopeInformation() { if (DL.isUnknown()) continue; DILocation DLT = MF->getDILocation(DL); DIScope DLTScope = DLT.getScope(); - MDNode *NewScope = DLTScope.getNode(); - if (!NewScope) continue; + if (!DLTScope.getNode()) continue; // There is no need to create another DIE for compile unit. For all // other scopes, create one DbgScope now. This will be translated // into a scope DIE at the end. if (DLTScope.isCompileUnit()) continue; - MDNode *NewInlinedAt = DLT.getOrigLocation().getNode(); - if (NewScope == PrevScope && NewInlinedAt == PrevInlinedAt) continue; - DbgScope *Scope = getUpdatedDbgScope(NewScope, MInsn, NewInlinedAt); + DbgScope *Scope = getUpdatedDbgScope(DLTScope.getNode(), MInsn, + DLT.getOrigLocation().getNode()); Scope->setLastInsn(MInsn); - PrevScope = NewScope; - PrevInlinedAt = NewInlinedAt; } } -- 2.11.0