[all-commits] [llvm/llvm-project] 40e3df: [RegisterCoalescer] Resolve conflict based on live...
Ruiling, Song via All-commits
all-commits at lists.llvm.org
Tue Jul 13 23:44:15 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 40e3df2a1b229096b899443abf0d95784d7a4bea
https://github.com/llvm/llvm-project/commit/40e3df2a1b229096b899443abf0d95784d7a4bea
Author: Ruiling Song <ruiling.song at amd.com>
Date: 2021-07-14 (Wed, 14 Jul 2021)
Changed paths:
M llvm/lib/CodeGen/RegisterCoalescer.cpp
A llvm/test/CodeGen/AMDGPU/regcoalescer-resolve-lane-conflict-by-subranges.mir
M llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
Log Message:
-----------
[RegisterCoalescer] Resolve conflict based on liveness of subregister
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 enables subregister liveness tracking.
Reviewed by: arsenm, qcolombet
Differential Revision: https://reviews.llvm.org/D104509
More information about the All-commits
mailing list