llvm-project/llvm/test
Vedant Kumar 2ecaf93525 [LiveDebugValues] Speed up removeEntryValue, NFC
Summary:
Instead of iterating over all VarLoc IDs in removeEntryValue(), just
iterate over the interval reserved for entry value VarLocs. This changes
the iteration order, hence the test update -- otherwise this is NFC.

This appears to give an ~8.5x wall time speed-up for LiveDebugValues when
compiling sqlite3.c 3.30.1 with a Release clang (on my machine):

```
          ---User Time---   --System Time--   --User+System--   ---Wall Time--- --- Name ---
  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
```

The change in removeEntryValue() is the only one that appears to affect
wall time, but for consistency (and to resolve a pending TODO), I made
the analogous changes for iterating over SpillLocKind VarLocs.

Reviewers: nikic, aprantl, jmorse, djtodoro

Subscribers: hiraditya, dexonsmith, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80684
2020-06-01 11:02:36 -07:00
..
Analysis [BasicAA] Use known lower bounds for index values for size based check. 2020-05-30 16:20:42 +01:00
Assembler [ThinLTO] Compute the basic block count across modules. 2020-05-28 10:33:05 -07:00
Bindings [DebugInfo] Upgrade DISubrange to support Fortran dynamic arrays 2020-05-28 13:46:41 +05:30
Bitcode [ThinLTO] Compute the basic block count across modules. 2020-05-28 10:33:05 -07:00
BugPoint
CodeGen AMDGPU: Fix test in code directory 2020-06-01 13:26:51 -04:00
DebugInfo [LiveDebugValues] Speed up removeEntryValue, NFC 2020-06-01 11:02:36 -07:00
Demangle Give microsoftDemangle() an outparam for how many input bytes were consumed. 2020-05-20 16:17:31 -04:00
Examples
ExecutionEngine [jitlink] R_X86_64_PC32 support for the elf x86 jitlinker 2020-05-30 10:53:18 +10:00
Feature StoreInst should store Align, not MaybeAlign 2020-05-15 12:26:58 -07:00
FileCheck FileCheck [10/12]: Add support for signed numeric values 2020-05-28 10:44:21 +01:00
Instrumentation StoreInst should store Align, not MaybeAlign 2020-05-15 12:26:58 -07:00
Integer
JitListener
LTO Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
Linker
MC [DebugInfo] Separate fields with commas in headers of compile units (2/3). 2020-06-01 17:40:24 +07:00
MachineVerifier GlobalISel: Merge G_PTR_MASK with llvm.ptrmask intrinsic 2020-05-26 11:48:13 -04:00
Object [yaml2obj] - Stop using square brackets for unique suffixes. 2020-05-19 12:59:13 +03:00
ObjectYAML [ObjectYAML][DWARF] Make the `PubSection` optional. 2020-05-29 20:11:53 +08:00
Other [PrintSCC] Fix printing a basic-block without a name 2020-05-29 20:14:19 +03:00
Reduce
SafepointIRVerifier [Tests] Remove deopt operands from SafepointIRVerfier tests 2020-05-28 14:36:05 -07:00
Support On Windows, handle interrupt signals without crash message 2020-05-21 13:27:10 +01:00
SymbolRewriter
TableGen [TableGen] Fix non-standard escape warnings for braces in InstAlias 2020-05-28 09:36:24 +00:00
ThinLTO/X86 [ThinLTO] Compute the basic block count across modules. 2020-05-28 10:33:05 -07:00
Transforms Temporarily removed unstable test. NFC. 2020-06-01 10:18:54 -07:00
Unit
Verifier New intrinsic @llvm.get.active.lane.mask() 2020-05-29 08:51:40 +01:00
YAMLParser
tools [Object] Add DF_1_PIE 2020-06-01 08:56:02 -07:00
.clang-format
CMakeLists.txt [CMake] Change target 'check' from 'check-llvm' to 'check-all' 2020-05-29 14:15:27 -07:00
TestRunner.sh
lit.cfg.py
lit.site.cfg.py.in Revert "Temporarily revert "build: use `find_package(Python3)` if available"" 2020-04-29 01:38:08 +00:00