[llvm] [ARM] Fix failure to register-allocate CMP_SWAP_64 pseudo-inst (PR #104039)
Oliver Stannard via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 20 02:57:28 PDT 2024
ostannard wrote:
> However I am more concerned by the implication that these priority values are required for correctness
It's not exactly a correctness problem, since the register allocator will detect that it's out or register and fail the compilation.
Looking again at the `CMP_SWAP_64` pseudo-instruction, it might also be possible to work around this issue by replacing the two `GPR` operands with a `GPRPair`, and packing/unpacking them in ARMISelLowering. That should be easier on the register allocator, because allocation order wouldn't matter, but it's an ugly hack which I'd rather avoid if the register allocator can be fixed to work with the existing pseudo-instruction.
https://github.com/llvm/llvm-project/pull/104039
More information about the llvm-commits
mailing list