[llvm] [NVPTX] Remove Float register classes (PR #140487)

Alex MacLean via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 3 14:59:23 PDT 2025


AlexMaclean wrote:

> @AlexMaclean Just a FYI.
> 
> We've ran into an interesting issue in ptxas triggered by this change.
> 
> It appears that uniform use of .b32 registers for integer and FP operations may trigger some sort of regression in ptxas.
> 
> We observed that ons some kernels, where ptxas was able to eliminate local storage before the patch, it no longer does so. The PTX is identical before/after this patch, modulo the number of registers and their names, but with the mixed fp32/b32 registers, generated SASS had no local memory loads/stores, while after the patch, the local memory continues to be used.
> 
> Unfortunately I can't share the kernel, but I will try to reduce the PTX to something that can be used to demonstrate the issue.

Yikes! that is unfortunate. Is the regressions significant and widespread enough that we'd need to think about reverting this change? Or could it wait for a fix to ptxas in some future release of CUDA? Alternately, would it be possible to eliminate the local memory in LLVM via SROA?

https://github.com/llvm/llvm-project/pull/140487


More information about the llvm-commits mailing list