[llvm] r359426 - [DebugInfo] Terminate more location-list ranges at the end of blocks

Jeremy Morse via llvm-commits llvm-commits at lists.llvm.org
Fri May 10 07:36:38 PDT 2019


Hi,

After giving this a kick, the performance decrease is largely because
in calculateDbgEntityHistory, LiveEntries quickly accumulates large
volumes of unterminated variable locations, extremely quickly with
asan enabled of course. Nikola's patch in D61600 improves things a
little, actually terminating _all_ locations at the end of a block
seems to restore almost-normal performance. I used
AArch64InstPrinter.cpp compiled with asan as a base, it took 53
seconds pre-this-patch, ~2 minutes with the patch, back down to ~54
seconds with the patch and terminating all locations at block end in
calculateDbgEntityHistory.

So much for me reckoning I could deal with terminating stack-spilt
register locations another day...

There are 12 additional test failures that need to be worked through
first, but an initial sniff indicates they're minor changes /
improvements.

--
Thanks,
Jeremy


More information about the llvm-commits mailing list