aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
diff options
context:
space:
mode:
authorJeremy Morse <jeremy.morse@sony.com>2022-02-02 12:23:52 +0000
committerJeremy Morse <jeremy.morse@sony.com>2022-02-02 12:58:15 +0000
commita80181a81ea44215e49e5da1457614ec0bd44111 (patch)
tree0eaf8bfea0483766ba32782822466c5d43b1bc31 /lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
parent73ed118edaa6b0862ffaa4b8cba45fd184c5ea58 (diff)
downloadllvm-a80181a81ea44215e49e5da1457614ec0bd44111.zip
llvm-a80181a81ea44215e49e5da1457614ec0bd44111.tar.gz
llvm-a80181a81ea44215e49e5da1457614ec0bd44111.tar.bz2
[DebugInfo][InstrRef][NFC] Free resources at an earlier stage
This patch releases some memory from InstrRefBasedLDV earlier that it would otherwise. The underlying problem is: * We store a big table of "live in values for each block", * We translate that into DBG_VALUE instructions in each block, And both exist in memory at the same time, which needlessly doubles that information. The most of what this patch does is: as we progressively translate live-in information into DBG_VALUEs, we free the variable-value / machine-value tracking information as we go, which significantly reduces peak memory. While I'm here, also add a clear method to wipe variable assignments that have been accumulated into VLocTracker objects, and turn a DenseMap into a SmallDenseMap to avoid an initial allocation. Differential Revision: https://reviews.llvm.org/D118453
Diffstat (limited to 'lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp')
0 files changed, 0 insertions, 0 deletions