[llvm] [AMDGPU][InstCombine] Fold unused m0 operand to poison for sendmsg intrinsics (PR #183755)
Jay Foad via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 2 06:37:55 PST 2026
================
@@ -2484,6 +2484,30 @@ uint64_t encodeMsg(uint64_t MsgId, uint64_t OpId, uint64_t StreamId) {
return MsgId | (OpId << OP_SHIFT_) | (StreamId << STREAM_ID_SHIFT_);
}
+bool msgDoesNotUseM0(int64_t MsgId) {
+ // Explicitly list message types that are known to not use m0.
+ // This is safer than excluding only GS_ALLOC_REQ, in case new message
+ // types are added in the future that do use m0.
+ switch (MsgId) {
+ case ID_INTERRUPT:
+ case ID_GS_PreGFX11:
+ case ID_GS_DONE_PreGFX11:
+ // ID_HS_TESSFACTOR_GFX11Plus and ID_DEALLOC_VGPRS_GFX11Plus have the
+ // same values as ID_GS_PreGFX11 and ID_GS_DONE_PreGFX11 respectively.
----------------
jayfoad wrote:
So make this function depend on MCSubtargetInfo (or IsaVersion) ?
https://github.com/llvm/llvm-project/pull/183755
More information about the llvm-commits
mailing list