summaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
diff options
context:
space:
mode:
authorShubham Sandeep Rastogi <srastogi22@apple.com>2023-02-07 11:33:45 -0800
committerShubham Sandeep Rastogi <srastogi22@apple.com>2023-04-12 12:10:58 -0700
commit0aaf634152f25a805563d552e72d89e8202d84f2 (patch)
tree23d1d10c96b00aee8fb13a5eda4ceda8fa8c723f /lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
parent144562e678d932dc2685f8a83aeb2229bc96d71a (diff)
Move DBG_VALUE's that depend on loads to after a
load if the load is moved due to the pre register allocation ld/st optimization pass The issue here is that there can be a scenario where debug information is lost because of the pre register allocation load store optimization pass, where a load who's result describes the debug infomation for a local variable gets moved below the load and that causes the debug information for that load to get lost. Example: Before the Pre Register Allocation Load Store Pass inst_a %2 = ld ... inst_b DBG_VALUE %2, "x", ... %3 = ld ... After the Pass: inst_a inst_b DBG_VALUE %2, "x", ... %2 = ld ... %3 = ld ... The load has now been moved to after the DBG_VAL that uses its result and the debug info for "x" has been lost. What we want is: inst_a inst_b %2 = ld ... DBG_VALUE %2, "x", ... %3 = ld ... Which is what this patch addresses Differential Revision: https://reviews.llvm.org/D145168
Diffstat (limited to 'lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp')
0 files changed, 0 insertions, 0 deletions