llvm-project
9b0d277d - [LiveDebugValues] Avoid SmallSet for dead registers (#195841)

Commit
22 days ago
[LiveDebugValues] Avoid SmallSet for dead registers (#195841) transferRegisterDef builds a list of dead registers and removes open ranges for debug locations that use those registers. This list used a SmallSet, so each insert also does uniquing in the hot per-instruction path. This showed up under SmallSet<Register, 32>::insertImpl on profiles of sqlite on aarch64-O0-g. Using a SmallVector instead and uniquing in collectIDsForRegs improves compile-time. CTMark geomean: - stage1-O0-g: -0.35% - stage1-aarch64-O0-g: -0.72% - stage2-O0-g: -0.27% https://llvm-compile-time-tracker.com/compare.php?from=c9d713aa48a714d20b8502d06b9feb24829e6f22&to=6c0d4aafb9e325259c88577d148ac13c643ea993&stat=instructions%3Au Assisted-by: codex
Author
Parents
Loading