[PATCH] D112324: [DebugInfo][InstrRef] Recover some performance from tracking stack-slot sublocations

Jeremy Morse via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 22 09:16:26 PDT 2021


jmorse created this revision.
jmorse added reviewers: StephenTozer, Orlando, TWeaver.
Herald added subscribers: pengfei, hiraditya.
jmorse requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

This patch is like D111627 <https://reviews.llvm.org/D111627> -- instead of calculating IDF for every location on the stack, only do it for the smallest units of interference, and copy the PHIs for those units to any aliases.

This saves us a cool 0.5% instructions on CTMark, thanks again to the compile-time-tracker project.

The test added runs placeMLocPHIs directly, and tests that:

- A def of the lower 8 bits of a stack slot causes all aliasing regs to have PHIs placed,
- It doesn't cause the equivalent location to x86's $ah, which isn't aliased, to have a PHI placed.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D112324

Files:
  llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
  llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
  llvm/unittests/CodeGen/InstrRefLDVTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D112324.381574.patch
Type: text/x-patch
Size: 11053 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211022/531d2ad1/attachment.bin>


More information about the llvm-commits mailing list