[PATCH] D104509: [RegisterCoalescer] Resolve confict based on liveness of subregister

Ruiling, Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 18 00:00:49 PDT 2021


ruiling created this revision.
ruiling added reviewers: arsenm, qcolombet, kparzysz.
Herald added subscribers: kerbowa, tpr, hiraditya, nhaehnle, jvesely, MatzeB.
ruiling requested review of this revision.
Herald added subscribers: llvm-commits, wdng.
Herald added a project: LLVM.

Currently we are resolving lane/subregister conflict by visiting
instructions sequentially in current block to see whether there is any
use of the tainted lanes. To save compile time, we are not doing further
check in successor blocks. This sounds reasonable without subgregister liveness.

But since we have added subregister liveness tracking capability to
register coalescer, we can easily determine whether we have subregister
liveness conflict by checking subranges. This would help coalescing more
COPYs for target that enable subregister tracking.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D104509

Files:
  llvm/lib/CodeGen/RegisterCoalescer.cpp
  llvm/test/CodeGen/AMDGPU/regcoalescer-resolve-lane-conflict-by-subranges.mir
  llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask.ll
  llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D104509.352921.patch
Type: text/x-patch
Size: 48974 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210618/b5c151e5/attachment.bin>


More information about the llvm-commits mailing list