[PATCH] D137542: [AMDGPU] Use aperture registers instead of S_GETREG
Pierre van Houtryve via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 22 06:34:53 PST 2022
Pierre-vh added inline comments.
================
Comment at: llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp:149-150
+ // register with a reference to its artificial HI 32 bits.
+ if (IsApertureRegister64(SrcReg))
+ return RBI.constrainGenericRegister(DstReg, AMDGPU::SGPR_64RegClass, *MRI);
+
----------------
arsenm wrote:
> You shouldn't need to special case this (also note there's no equivalent for the DAG). Either it needs to belong to a different class from SReg_64, or you need to reserve the high bits
> or you need to reserve the high bits
Aren't they reserved with `reserveRegisterTuples`?
If I create a different class, do you mean I should exclude those aperture registers from SReg and create a superclass with both SReg and the apertures? I'm not sure I understand how the class will help if I shouldn't special-case the uses of those aperture registers
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D137542/new/
https://reviews.llvm.org/D137542
More information about the llvm-commits
mailing list