summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/DebugInfo/DWARFDebugArangeSet.h1
-rw-r--r--llvm/lib/DebugInfo/DWARFDebugAranges.cpp21
2 files changed, 2 insertions, 20 deletions
diff --git a/llvm/lib/DebugInfo/DWARFDebugArangeSet.h b/llvm/lib/DebugInfo/DWARFDebugArangeSet.h
index c18b3c5e504..d6c2d8b27c5 100644
--- a/llvm/lib/DebugInfo/DWARFDebugArangeSet.h
+++ b/llvm/lib/DebugInfo/DWARFDebugArangeSet.h
@@ -63,7 +63,6 @@ public:
return desc_iterator_range(ArangeDescriptors.begin(),
ArangeDescriptors.end());
}
- uint32_t getNumDescriptors() const { return ArangeDescriptors.size(); }
};
}
diff --git a/llvm/lib/DebugInfo/DWARFDebugAranges.cpp b/llvm/lib/DebugInfo/DWARFDebugAranges.cpp
index 4d7bf306f6c..2524adc25c1 100644
--- a/llvm/lib/DebugInfo/DWARFDebugAranges.cpp
+++ b/llvm/lib/DebugInfo/DWARFDebugAranges.cpp
@@ -21,23 +21,11 @@ void DWARFDebugAranges::extract(DataExtractor DebugArangesData) {
if (!DebugArangesData.isValidOffset(0))
return;
uint32_t Offset = 0;
- typedef std::vector<DWARFDebugArangeSet> RangeSetColl;
- RangeSetColl Sets;
DWARFDebugArangeSet Set;
- uint32_t TotalRanges = 0;
while (Set.extract(DebugArangesData, &Offset)) {
- Sets.push_back(Set);
- TotalRanges += Set.getNumDescriptors();
- }
- if (TotalRanges == 0)
- return;
-
- Aranges.reserve(TotalRanges);
- for (const auto &I : Sets) {
- uint32_t CUOffset = I.getCompileUnitDIEOffset();
-
- for (const auto &Desc : I.descriptors()) {
+ uint32_t CUOffset = Set.getCompileUnitDIEOffset();
+ for (const auto &Desc : Set.descriptors()) {
uint64_t LowPC = Desc.Address;
uint64_t HighPC = Desc.getEndAddress();
appendRange(CUOffset, LowPC, HighPC);
@@ -112,11 +100,6 @@ void DWARFDebugAranges::sortAndMinimize() {
++minimal_size;
}
- // If the sizes are the same, then no consecutive aranges can be
- // combined, we are done.
- if (minimal_size == orig_arange_size)
- return;
-
// Else, make a new RangeColl that _only_ contains what we need.
RangeColl minimal_aranges;
minimal_aranges.resize(minimal_size);
OpenPOWER on IntegriCloud