aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/ModuleBuilder.cpp
diff options
context:
space:
mode:
authorJeremy Morse <jeremy.morse@sony.com>2022-02-02 13:48:36 +0000
committerJeremy Morse <jeremy.morse@sony.com>2022-02-02 14:09:54 +0000
commit9fd9d56dc6bdeeddf8cf2af834c6c39d00cd7244 (patch)
tree117fda613922d8412dd10208f25092a0589770d3 /clang/lib/CodeGen/ModuleBuilder.cpp
parent0cd8063960259903b5bbb0accc3259accdb1bd6c (diff)
downloadllvm-9fd9d56dc6bdeeddf8cf2af834c6c39d00cd7244.zip
llvm-9fd9d56dc6bdeeddf8cf2af834c6c39d00cd7244.tar.gz
llvm-9fd9d56dc6bdeeddf8cf2af834c6c39d00cd7244.tar.bz2
[DebugInfo][InstrRef][NFC] Use depth-first scope search for variable locs
This patch aims to reduce max-rss from instruction referencing, by avoiding keeping variable value information in memory for too long. Instead of computing all the variable values then emitting them to DBG_VALUE instructions, this patch tries to stream the information out through a depth first search: * Make use of the fact LexicalScopes gives a depth-number to each lexical scope, * Produce a map that identifies the last lexical scope to make use of a block, * Enumerate each scope in LexicalScopes' DFS order, solving the variable value problem, * After each scope is processed, look for any blocks that won't be used by any other scope, and emit all the variable information to DBG_VALUE instructions. Differential Revision: https://reviews.llvm.org/D118460
Diffstat (limited to 'clang/lib/CodeGen/ModuleBuilder.cpp')
0 files changed, 0 insertions, 0 deletions