[llvm] [AArch64][SVE] Pair SVE fill/spill into LDP/STP with -msve-vector-bits=128. (PR #134068)

Paul Walker via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 7 07:20:05 PDT 2025


================
@@ -87,6 +87,10 @@ static cl::opt<unsigned> LdStConstLimit("aarch64-load-store-const-scan-limit",
 static cl::opt<bool> EnableRenaming("aarch64-load-store-renaming",
                                     cl::init(true), cl::Hidden);
 
+// Enable SVE fill/spill pairing for VLS 128.
+static cl::opt<bool> EnableSVEFillSpillPairing("aarch64-sve-fill-spill-pairing",
+                                               cl::init(true), cl::Hidden);
----------------
paulwalker-arm wrote:

Just going to through this out there but when inspecting `tryToPairLdStInst` I see there is already provision to disable the use of pair instructions via target features `disable-ldp` and `disable-stp` so perhaps we don't need a dedicated flag after all?  That might make the implementation easier because then the "should we do this" check only requires the subtarget?

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


More information about the llvm-commits mailing list