[llvm] [MachineScheduler] Experimental option to partially disable pre-ra scheduling. (PR #90181)
Michael Maitland via llvm-commits
llvm-commits at lists.llvm.org
Tue May 7 06:46:17 PDT 2024
michaelmaitland wrote:
Thanks for you patch. I have a few questions and observations
> I found a big regression on SPEC/cactus which comes from enabling the machine scheduler before register allocation
Are you running pre-ra and post-ra scheduler? Do you see the regression if you run both vs only running pre-ra?
> The reason seems to be that it prdoduces a schedule that gives heavily increased spilling during register allocation.
It sound like the long term solution is to address spilling directly. Do you know if the issue is spilling in general or if it has to do specifically with larger regions?
> cactus ran 8% faster by just disabling the pre-ra machine scheduler
Is this dynamic instruction count or runtime?
Do you see any regressions due to this change in SPEC?
What is the difference between the performance with this change vs disabling pre-ra scheduling entirely?
I can take a look to see how this change is impacting benchmarks on RISC-V.
https://github.com/llvm/llvm-project/pull/90181
More information about the llvm-commits
mailing list