[llvm-branch-commits] [llvm] release/22.x: [AArch64] Add new pass after VirtRegRewriter to add implicit-defs (#174188) (PR #176197)
Sander de Smalen via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Thu Jan 15 14:57:43 PST 2026
sdesmalen-arm wrote:
Yes that's right, this will only affect `__arm_streaming` functions. The added MIR pass added is rather elementary, and the reason the change is 'big' is because a lot of tests are affected when changing the target interface to enable 'subreg liveness tracking', which either subtly changes the register allocation or removes a lot of `kill: $<reg>` lines in the asm output (because it now tracks liveness of sub-registers of register tuples, and no longer the entire tuple register as a whole). Not sure if it helps, but the feature would also be pretty easy to disable as it merely requires changing the default value of the `cl::opt` in AArch64Subtarget.cpp.
Because streaming functions are not very common, I've tested this with the feature also enabled for non-streaming functions on a variety of workloads to get wider coverage.
https://github.com/llvm/llvm-project/pull/176197
More information about the llvm-branch-commits
mailing list