[AMDGPU] WQM/WWM: Fix marking of partial definitions
authorCarl Ritson <carl.ritson@amd.com>
Fri, 19 Feb 2021 11:12:03 +0000 (20:12 +0900)
committerCarl Ritson <carl.ritson@amd.com>
Fri, 19 Feb 2021 11:45:24 +0000 (20:45 +0900)
commit8181dcd30feeb7258685cafc35e0b01c894c6f3b
treea1f3c6a677cff9b1cd5abc7d1a94219318db02b2
parent2f17ed294fcd8cde505b93c9c5bbab06ba59051c
[AMDGPU] WQM/WWM: Fix marking of partial definitions

Track lanes when processing definitions for marking WQM/WWM.
If all lanes have been defined then marking can stop.
This prevents marking unnecessary instructions as WQM/WWM.

In particular this fixes a bug where values passing through
V_SET_INACTIVE would me marked as requiring WWM.

Reviewed By: piotr

Differential Revision: https://reviews.llvm.org/D95503
llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
llvm/test/CodeGen/AMDGPU/wqm.mir