Currently there isn't a generic way to get a smaller register class
that can be produced from a subregister of a larger class. Replaces a
manually implemented version for AMDGPU. This will be used to improve
subregister support in the allocator.
Details
Diff Detail
Unit Tests
Event Timeline
llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp | ||
---|---|---|
280 | I was thinking it isn't very useful to call if there's a subregister. I blindly copied the 0 case from getSubRegClass |
llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp | ||
---|---|---|
280 | I have a slight preference for being able to call getSubRegisterClass unconditionally. |
llvm/lib/Target/AMDGPU/SIRegisterInfo.h | ||
---|---|---|
281 | It's specifically getting the class of the virtual register in the operand, not the underlying register class implied by the instruction |
llvm/lib/Target/AMDGPU/SIRegisterInfo.h | ||
---|---|---|
281 | OK, then I like the current name :) |
"SubRegIdx".