[PATCH] D52921: [LiveDebugValues] Extend var ranges through artificial blocks

Vedant Kumar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 5 14:17:01 PDT 2018


vsk added a comment.

@aprantl I built stage2 ASan+UBsan+RelWithDebInfo versions of clang with unpatched and patched versions of clang.

The unpatched clang finished in 936 seconds with a peak RSS of 999,268 KB (0.95 GB). The patched clang finished in 853 seconds with a peak RSS of 999,952 KB (0.95 GB). I made measurements by sampling `ps x -o rss,command | grep clang` every second and keeping track of the entry with max RSS. I can share the measurement script if there’s interest.

I’m confident that these measurements show this patch doesn’t cause unbounded memory consumption. I don’t know what we can say about the compile-time impact due to the low sample size (2 builds). However, I expect compile times to improve. Instead of spending time re-checking instruction locations in LexicalScopes::dominates(), this patch just does a set lookup.

I looked at the final dSYMs to see what happens to the debug info. This patch increases the percentage of scope bytes covered by 1% (expected). It doesn’t really increase the number of variables with locations (also expected; their ranges simply grow).


https://reviews.llvm.org/D52921





More information about the llvm-commits mailing list