summaryrefslogtreecommitdiff
path: root/lldb/test/API/python_api/module_section/TestModuleAndSection.py
diff options
context:
space:
mode:
authorOCHyams <orlando.hyams@sony.com>2020-02-11 09:44:32 +0000
committerOCHyams <orlando.hyams@sony.com>2020-02-11 10:20:24 +0000
commit1e4079932436474d6a358637e47b8da5b73f1947 (patch)
treed9e2e09d11eca4f5cbf75292a7ab3ad06056a88a /lldb/test/API/python_api/module_section/TestModuleAndSection.py
parentedbaa7fc046782b533d159bc5d31dd306ffaf779 (diff)
[DebugInfo] Teach LDV how to handle identical variable fragments
LiveDebugVariables uses interval maps to explicitly represent DBG_VALUE intervals. DBG_VALUEs are filtered into an interval map based on their { Variable, DIExpression }. The interval map will coalesce adjacent entries that use the same { Location }. Under this model, DBG_VALUEs which refer to the same bits of the same variable will be filtered into different interval maps if they have different DIExpressions which means the original intervals will not be properly preserved. This patch fixes the problem by using { Variable, Fragment } to filter the DBG_VALUEs into maps, and coalesces adjacent entries iff they have the same { Location, DIExpression } pair. The solution is not perfect because we see the similar issues appear when partially overlapping fragments are encountered, but is far simpler than a complete solution (i.e. D70121). Fixes: pr41992, pr43957 Reviewed By: aprantl Differential Revision: https://reviews.llvm.org/D74053
Diffstat (limited to 'lldb/test/API/python_api/module_section/TestModuleAndSection.py')
0 files changed, 0 insertions, 0 deletions