diff options
Diffstat (limited to 'contrib/llvm/lib/DebugInfo/DWARFDebugArangeSet.cpp')
-rw-r--r-- | contrib/llvm/lib/DebugInfo/DWARFDebugArangeSet.cpp | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/contrib/llvm/lib/DebugInfo/DWARFDebugArangeSet.cpp b/contrib/llvm/lib/DebugInfo/DWARFDebugArangeSet.cpp index 7dff9ff..229376e 100644 --- a/contrib/llvm/lib/DebugInfo/DWARFDebugArangeSet.cpp +++ b/contrib/llvm/lib/DebugInfo/DWARFDebugArangeSet.cpp @@ -20,32 +20,6 @@ void DWARFDebugArangeSet::clear() { ArangeDescriptors.clear(); } -void DWARFDebugArangeSet::compact() { - if (ArangeDescriptors.empty()) - return; - - // Iterate through all arange descriptors and combine any ranges that - // overlap or have matching boundaries. The ArangeDescriptors are assumed - // to be in ascending order. - uint32_t i = 0; - while (i + 1 < ArangeDescriptors.size()) { - if (ArangeDescriptors[i].getEndAddress() >= ArangeDescriptors[i+1].Address){ - // The current range ends at or exceeds the start of the next address - // range. Compute the max end address between the two and use that to - // make the new length. - const uint64_t max_end_addr = - std::max(ArangeDescriptors[i].getEndAddress(), - ArangeDescriptors[i+1].getEndAddress()); - ArangeDescriptors[i].Length = max_end_addr - ArangeDescriptors[i].Address; - // Now remove the next entry as it was just combined with the previous one - ArangeDescriptors.erase(ArangeDescriptors.begin()+i+1); - } else { - // Discontiguous address range, just proceed to the next one. - ++i; - } - } -} - bool DWARFDebugArangeSet::extract(DataExtractor data, uint32_t *offset_ptr) { if (data.isValidOffset(*offset_ptr)) { @@ -126,26 +100,3 @@ void DWARFDebugArangeSet::dump(raw_ostream &OS) const { << format(" 0x%*.*" PRIx64 ")\n", hex_width, hex_width, pos->getEndAddress()); } - - -namespace { - class DescriptorContainsAddress { - const uint64_t Address; - public: - DescriptorContainsAddress(uint64_t address) : Address(address) {} - bool operator()(const DWARFDebugArangeSet::Descriptor &desc) const { - return Address >= desc.Address && Address < (desc.Address + desc.Length); - } - }; -} - -uint32_t DWARFDebugArangeSet::findAddress(uint64_t address) const { - DescriptorConstIter end = ArangeDescriptors.end(); - DescriptorConstIter pos = - std::find_if(ArangeDescriptors.begin(), end, // Range - DescriptorContainsAddress(address)); // Predicate - if (pos != end) - return HeaderData.CuOffset; - - return -1U; -} |