diff options
author | Alexey Samsonov <samsonov@google.com> | 2014-04-18 17:25:46 +0000 |
---|---|---|
committer | Alexey Samsonov <samsonov@google.com> | 2014-04-18 17:25:46 +0000 |
commit | fe030f3dcdb5134c9b691c5a65977752d0b7addc (patch) | |
tree | a0ec55dd011461db4b62215312f3eee1db04103b /lib/DebugInfo/DWARFDebugInfoEntry.h | |
parent | 54850bedf20b85da4a2a7f3a77e6622f76417d03 (diff) | |
download | llvm-fe030f3dcdb5134c9b691c5a65977752d0b7addc.tar.gz llvm-fe030f3dcdb5134c9b691c5a65977752d0b7addc.tar.bz2 llvm-fe030f3dcdb5134c9b691c5a65977752d0b7addc.tar.xz |
[DWARF parser] Refactor fetching DIE address ranges.
Add a helper method to get address ranges specified in a DIE
(either by DW_AT_low_pc/DW_AT_high_pc, or by DW_AT_ranges). Use it
to untangle and simplify the code.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206624 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/DebugInfo/DWARFDebugInfoEntry.h')
-rw-r--r-- | lib/DebugInfo/DWARFDebugInfoEntry.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/DebugInfo/DWARFDebugInfoEntry.h b/lib/DebugInfo/DWARFDebugInfoEntry.h index f30e531045..6b2aa1a446 100644 --- a/lib/DebugInfo/DWARFDebugInfoEntry.h +++ b/lib/DebugInfo/DWARFDebugInfoEntry.h @@ -11,6 +11,7 @@ #define LLVM_DEBUGINFO_DWARFDEBUGINFOENTRY_H #include "DWARFAbbreviationDeclaration.h" +#include "DWARFDebugRangeList.h" #include "llvm/ADT/SmallVector.h" #include "llvm/Support/DataTypes.h" @@ -135,9 +136,10 @@ public: bool getLowAndHighPC(const DWARFUnit *U, uint64_t &LowPC, uint64_t &HighPC) const; - void buildAddressRangeTable(const DWARFUnit *U, - DWARFDebugAranges *DebugAranges, - uint32_t CUOffsetInAranges) const; + DWARFAddressRangesVector getAddressRanges(const DWARFUnit *U) const; + + void collectChildrenAddressRanges(const DWARFUnit *U, + DWARFAddressRangesVector &Ranges) const; bool addressRangeContainsAddress(const DWARFUnit *U, const uint64_t Address) const; |