[llvm] [AArch64] Remove copy in SVE/SME predicate spill (PR #81716)

Sam Tebbs via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 21 08:23:21 PST 2024


================
@@ -4807,8 +4808,9 @@ void AArch64InstrInfo::storeRegToStackSlot(MachineBasicBlock &MBB,
              "Unexpected register store without SVE2p1 or SME2");
       if (SrcReg.isVirtual()) {
         auto NewSrcReg =
-            MF.getRegInfo().createVirtualRegister(&AArch64::PPRRegClass);
-        BuildMI(MBB, MBBI, DebugLoc(), get(TargetOpcode::COPY), NewSrcReg)
+            MF.getRegInfo().createVirtualRegister(&AArch64::PPR_p8to15RegClass);
----------------
SamTebbs33 wrote:

I like that approach, thanks Graham. It can also be used to get rid of the fill copy.

I'll implement this and adjust the tests accordingly.

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


More information about the llvm-commits mailing list