diff options
| author | Devang Patel <dpatel@apple.com> | 2010-04-01 22:47:29 +0000 | 
|---|---|---|
| committer | Devang Patel <dpatel@apple.com> | 2010-04-01 22:47:29 +0000 | 
| commit | 18737b2a818a7388c68941b9e18cdfac89fbfe1f (patch) | |
| tree | ea60bf42a8b014975a5498c23c78b894500ecff0 /llvm/lib/CodeGen | |
| parent | 697a39110fab8dafb7374b021bfd16c88f6d58ef (diff) | |
| download | bcm5719-llvm-18737b2a818a7388c68941b9e18cdfac89fbfe1f.tar.gz bcm5719-llvm-18737b2a818a7388c68941b9e18cdfac89fbfe1f.zip  | |
Revert r100117.
llvm-svn: 100145
Diffstat (limited to 'llvm/lib/CodeGen')
| -rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 24 | 
1 files changed, 6 insertions, 18 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 52c7089bb28..fb91d4f9849 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -2147,8 +2147,6 @@ bool DwarfDebug::extractScopeInformation() {    DenseMap<const MachineInstr *, unsigned> 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;      }    }  | 

