[PATCH] D80684: [LiveDebugValues] Speed up removeEntryValue, NFC

Vedant Kumar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 27 18:34:48 PDT 2020


vsk created this revision.
vsk added reviewers: nikic, aprantl, jmorse, djtodoro.
Herald added subscribers: dexonsmith, hiraditya.
Herald added a project: LLVM.

Instead of iterating over all VarLoc IDs in removeEntryValue(), just
iterate over the ones for EntryValueCopyBackupKind VarLocs.

This appears to give an ~8.5x wall time speed-up for LiveDebugValues when
compiling sqlite3.c with a Release clang.

Before:

  2.5402 ( 18.8%)   0.0050 (  0.4%)   2.5452 ( 17.3%)   2.5452 ( 17.3%)
    Live DEBUG_VALUE analysis

After:

  0.2364 (  2.1%)   0.0034 (  0.3%)   0.2399 (  2.0%)   0.2398 (  2.0%)
    Live DEBUG_VALUE analysis


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D80684

Files:
  llvm/include/llvm/ADT/CoalescingBitVector.h
  llvm/lib/CodeGen/LiveDebugValues.cpp
  llvm/unittests/ADT/CoalescingBitVectorTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D80684.266715.patch
Type: text/x-patch
Size: 6206 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200528/6d71d4da/attachment.bin>


More information about the llvm-commits mailing list