[PATCH] D67225: [DebugInfo][X86] Describe call site values for zero-valued imms
David Stenberg via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 5 07:43:54 PDT 2019
dstenb added a comment.
I have experimented a bit with making the `describeLoadedValue()` hook return machine operand objects rather than pointers, as that can simplify the code slightly.
The MachineOperand class only holds POD members, and on x86-64 it is 32 bytes large. That combined with copy elision means that the overhead of returning a machine operand object does not become very large.
I benchmarked that on a 8-thread i7-8650U machine with 32 GB RAM. The benchmark consisted of building a clang 8.0 binary configured with:
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DLLVM_TARGETS_TO_BUILD=X86 \
-DLLVM_USE_SANITIZER=Address \
-DCMAKE_CXX_FLAGS="-Xclang -femit-debug-entry-values -stdlib=libc++"
The average wall clock time increased by 4 seconds (0.1%), from 62:05 to 62:09. Would that be an acceptable trade-off for slightly simpler code? If so, I can upload a patch for that, and rebase this patch on top of that.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D67225/new/
https://reviews.llvm.org/D67225
More information about the llvm-commits
mailing list