[llvm] [AMDGPU] Speed up SIRegisterInfo::getReservedRegs (PR #79610)
Jay Foad via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 26 09:43:00 PST 2024
================
@@ -693,20 +699,29 @@ BitVector SIRegisterInfo::getReservedRegs(const MachineFunction &MF) const {
}
}
- for (unsigned i = MaxNumVGPRs; i < TotalNumVGPRs; ++i) {
- unsigned Reg = AMDGPU::VGPR_32RegClass.getRegister(i);
- reserveRegisterTuples(Reserved, Reg);
+ for (const TargetRegisterClass *RC : regclasses()) {
+ if (RC->isBaseClass() && isVGPRClass(RC)) {
+ unsigned NumRegs = divideCeil(getRegSizeInBits(*RC), 32);
+ for (MCPhysReg Reg : *RC) {
----------------
jayfoad wrote:
It's also tricky to get this right for 16-bit classes. I'd prefer to leave it to a follow-up.
https://github.com/llvm/llvm-project/pull/79610
More information about the llvm-commits
mailing list