[llvm] [X86] Remove LOW32_ADDR_ACCESS_RBP RegisterClass (PR #165018)

Jay Foad via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 31 07:17:15 PDT 2025


jayfoad wrote:

> #### Simply put (and this is as deep as I could dig):
> The removal of LOW32_ADDR_ACCESS_RBP causes the MachineScheduler to no longer call `computePSetLimit(LOW32_ADDR_ACCESS_RBP's PressureSet ID)` and instead use `computePSetLimit(LOW32_ADDR_ACCESS's PressureSet ID)`.
> 
> Where:
> 
> * `computePSetLimit(LOW32_ADDR_ACCESS_RBP's PressureSet ID)` returns 10
> * `computePSetLimit(LOW32_ADDR_ACCESS's PressureSet ID)` returns 12

Thanks for digging! If LOW32_ADDR_ACCESS_RBP is supposedly unused then I wonder how MachineScheduler comes to be calling `computePSetLimit(LOW32_ADDR_ACCESS_RBP` in the first place. Maybe it's from calling something like `getLargestLegalSuperClass`?

Also, if it is unused, maybe TableGen should be calculating the same PSetLimit for both LOW32_ADDR_ACCESS and LOW32_ADDR_ACCESS_RBP? I wonder if #81850 would affect that.

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


More information about the llvm-commits mailing list