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 | 762343da6c2d311f31328e1c6eee6ea7c90b11ab (patch) | |
tree | 150ee78be1a41c86ff4bad05e08ded7719b38084 /llvm/lib/DebugInfo/DWARFDebugInfoEntry.h | |
parent | 5f7c2db2ceae312498634bd521ef64a69a6e2545 (diff) | |
download | bcm5719-llvm-762343da6c2d311f31328e1c6eee6ea7c90b11ab.tar.gz bcm5719-llvm-762343da6c2d311f31328e1c6eee6ea7c90b11ab.zip |
[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.
llvm-svn: 206624
Diffstat (limited to 'llvm/lib/DebugInfo/DWARFDebugInfoEntry.h')
-rw-r--r-- | llvm/lib/DebugInfo/DWARFDebugInfoEntry.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/llvm/lib/DebugInfo/DWARFDebugInfoEntry.h b/llvm/lib/DebugInfo/DWARFDebugInfoEntry.h index f30e5310451..6b2aa1a446e 100644 --- a/llvm/lib/DebugInfo/DWARFDebugInfoEntry.h +++ b/llvm/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; |