AMDGPU: Partially fix machine uniformity for inline asm
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Wed, 18 Jan 2023 13:58:00 +0000 (08:58 -0500)
committerMatt Arsenault <arsenm2@gmail.com>
Mon, 30 Jan 2023 19:47:18 +0000 (15:47 -0400)
commit490e348e67945a4a7e118709579f17b2c96b40bd
tree25d75a3f015b8d2d3b47a5a41341f78052db6243
parent17ce615c781f854b6247ea4995bd50f967d1b699
AMDGPU: Partially fix machine uniformity for inline asm

This was assuming virtual registers only, and asserting on physical.
This was also ignoring AGPRs, and only considering VGPRs.

Reporting the instruction as uniform or not is conceptually wrong,
this should be reported per-operand. An inline asm statement could
include uniform and non-uniform components. This should report
purely for the register defs and ignore the uses.

Fixes asserting on most of the inline asm tests when uniformity
analysis is used.
llvm/include/llvm/CodeGen/RegisterBankInfo.h
llvm/lib/CodeGen/RegisterBankInfo.cpp
llvm/lib/Target/AMDGPU/GCNSubtarget.h
llvm/lib/Target/AMDGPU/SIInstrInfo.cpp