[llvm] AMDGPU: Constrain regclass when replacing SGPRs with VGPRs (PR #159369)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 17 07:23:49 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-amdgpu
Author: Matt Arsenault (arsenm)
<details>
<summary>Changes</summary>
We need to account for local instruction constraints after
finding a replacement VGPR class. This solves expensive_checks
failures in existing tests.
---
Full diff: https://github.com/llvm/llvm-project/pull/159369.diff
1 Files Affected:
- (modified) llvm/lib/Target/AMDGPU/SIInstrInfo.cpp (+4-1)
``````````diff
diff --git a/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp b/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
index c39da779ecf8c..37c75fe7f7dfd 100644
--- a/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+++ b/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
@@ -8993,7 +8993,10 @@ void SIInstrInfo::addUsersToMoveToVALUWorklist(
break;
}
- if (!RI.hasVectorRegisters(getOpRegClass(UseMI, OpNo)))
+ const TargetRegisterClass *OpRC = getOpRegClass(UseMI, OpNo);
+ MRI.constrainRegClass(DstReg, OpRC);
+
+ if (!RI.hasVectorRegisters(OpRC))
Worklist.insert(&UseMI);
else
// Legalization could change user list.
``````````
</details>
https://github.com/llvm/llvm-project/pull/159369
More information about the llvm-commits
mailing list