[all-commits] [llvm/llvm-project] ba14da: [lldb] Use the function block as a source for func...
Pavel Labath via All-commits
all-commits at lists.llvm.org
Tue Dec 3 01:21:27 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: ba14dac481564000339ba22ab867617590184f4c
https://github.com/llvm/llvm-project/commit/ba14dac481564000339ba22ab867617590184f4c
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-12-03 (Tue, 03 Dec 2024)
Changed paths:
M lldb/include/lldb/Symbol/Function.h
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Symbol/Function.cpp
M lldb/test/Shell/SymbolFile/DWARF/x86/discontinuous-function.s
M lldb/test/Shell/SymbolFile/PDB/function-nested-block.test
Log Message:
-----------
[lldb] Use the function block as a source for function ranges (#117996)
This is a follow-up/reimplementation of #115730. While working on that
patch, I did not realize that the correct (discontinuous) set of ranges
is already stored in the block representing the whole function. The
catch -- ranges for this block are only set later, when parsing all of
the blocks of the function.
This patch changes that by populating the function block ranges eagerly
-- from within the Function constructor. This also necessitates a
corresponding change in all of the symbol files -- so that they stop
populating the ranges of that block. This allows us to avoid some
unnecessary work (not parsing the function DW_AT_ranges twice) and also
results in some simplification of the parsing code.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list