diff options
author | Jeremy Morse <jeremy.morse@sony.com> | 2022-02-02 13:48:36 +0000 |
---|---|---|
committer | Jeremy Morse <jeremy.morse@sony.com> | 2022-02-02 14:09:54 +0000 |
commit | 9fd9d56dc6bdeeddf8cf2af834c6c39d00cd7244 (patch) | |
tree | 117fda613922d8412dd10208f25092a0589770d3 /clang/lib/CodeGen/ModuleBuilder.cpp | |
parent | 0cd8063960259903b5bbb0accc3259accdb1bd6c (diff) | |
download | llvm-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