[Lldb-commits] [lldb] [lldb] Remove (deprecated) Function::GetAddressRange (PR #132923)
via lldb-commits
lldb-commits at lists.llvm.org
Tue Mar 25 05:08:29 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-lldb
Author: Pavel Labath (labath)
<details>
<summary>Changes</summary>
All uses have been replaced by GetAddressRange*s* or GetAddress.
Also fix two internal uses of the range member.
---
Full diff: https://github.com/llvm/llvm-project/pull/132923.diff
2 Files Affected:
- (modified) lldb/include/lldb/Symbol/Function.h (-8)
- (modified) lldb/source/Symbol/Function.cpp (+3-25)
``````````diff
diff --git a/lldb/include/lldb/Symbol/Function.h b/lldb/include/lldb/Symbol/Function.h
index ee3a8304fc5b3..21b3f9ab4a70c 100644
--- a/lldb/include/lldb/Symbol/Function.h
+++ b/lldb/include/lldb/Symbol/Function.h
@@ -445,9 +445,6 @@ class Function : public UserID, public SymbolContextScope {
Function *CalculateSymbolContextFunction() override;
- /// DEPRECATED: Use GetAddressRanges instead.
- const AddressRange &GetAddressRange() { return m_range; }
-
AddressRanges GetAddressRanges() { return m_block.GetRanges(); }
/// Return the address of the function (its entry point). This address is also
@@ -658,11 +655,6 @@ class Function : public UserID, public SymbolContextScope {
/// All lexical blocks contained in this function.
Block m_block;
- /// The function address range that covers the widest range needed to contain
- /// all blocks. DEPRECATED: do not use this field in new code as the range may
- /// include addresses belonging to other functions.
- AddressRange m_range;
-
/// The address (entry point) of the function.
Address m_address;
diff --git a/lldb/source/Symbol/Function.cpp b/lldb/source/Symbol/Function.cpp
index 2c4467cc2e9c5..4fc793750f84f 100644
--- a/lldb/source/Symbol/Function.cpp
+++ b/lldb/source/Symbol/Function.cpp
@@ -254,33 +254,13 @@ Function *IndirectCallEdge::GetCallee(ModuleList &images,
/// @}
-AddressRange CollapseRanges(llvm::ArrayRef<AddressRange> ranges) {
- if (ranges.empty())
- return AddressRange();
- if (ranges.size() == 1)
- return ranges[0];
-
- Address lowest_addr = ranges[0].GetBaseAddress();
- addr_t highest_addr = lowest_addr.GetFileAddress() + ranges[0].GetByteSize();
- for (const AddressRange &range : ranges.drop_front()) {
- Address range_begin = range.GetBaseAddress();
- addr_t range_end = range_begin.GetFileAddress() + range.GetByteSize();
- if (range_begin.GetFileAddress() < lowest_addr.GetFileAddress())
- lowest_addr = range_begin;
- if (range_end > highest_addr)
- highest_addr = range_end;
- }
- return AddressRange(lowest_addr, highest_addr - lowest_addr.GetFileAddress());
-}
-
//
Function::Function(CompileUnit *comp_unit, lldb::user_id_t func_uid,
lldb::user_id_t type_uid, const Mangled &mangled, Type *type,
Address address, AddressRanges ranges)
: UserID(func_uid), m_comp_unit(comp_unit), m_type_uid(type_uid),
m_type(type), m_mangled(mangled), m_block(*this, func_uid),
- m_range(CollapseRanges(ranges)), m_address(std::move(address)),
- m_prologue_byte_size(0) {
+ m_address(std::move(address)), m_prologue_byte_size(0) {
assert(comp_unit != nullptr);
lldb::addr_t base_file_addr = m_address.GetFileAddress();
for (const AddressRange &range : ranges)
@@ -464,8 +444,7 @@ void Function::Dump(Stream *s, bool show_context) const {
s->EOL();
// Dump the root object
if (m_block.BlockInfoHasBeenParsed())
- m_block.Dump(s, m_range.GetBaseAddress().GetFileAddress(), INT_MAX,
- show_context);
+ m_block.Dump(s, m_address.GetFileAddress(), INT_MAX, show_context);
}
void Function::CalculateSymbolContext(SymbolContext *sc) {
@@ -474,8 +453,7 @@ void Function::CalculateSymbolContext(SymbolContext *sc) {
}
ModuleSP Function::CalculateSymbolContextModule() {
- SectionSP section_sp(m_range.GetBaseAddress().GetSection());
- if (section_sp)
+ if (SectionSP section_sp = m_address.GetSection())
return section_sp->GetModule();
return this->GetCompileUnit()->GetModule();
``````````
</details>
https://github.com/llvm/llvm-project/pull/132923
More information about the lldb-commits
mailing list