[llvm] [X86] Enable EliminateSpillageCopies by default on X86 (PR #155868)

Thor Preimesberger via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 29 12:23:25 PDT 2025


cheezeburglar wrote:

Benchmark output here: https://gist.github.com/cheezeburglar/bb8d45e9fcdbc2ee30ec0b586a011240

Looks like a lot of the perfomance regressions come from useless iterating over movs that set up the stackframe when entering eliminateSpillageCopies. We'd have to implement some of the folding in EliminateSpillageCopies into {Forward, Backward}CopyPropagation to sidestep this; the actual analysis and updating looks cheap.

FWIW I've anecdotally seen these useless chains pop up when doing reg alloc on rust x86 simd code in e.g. libcrux. I wouldn't expect performance improvements globally.

Does this approach sound alright? Gonna close and try in a bit if so.

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


More information about the llvm-commits mailing list