[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