[llvm] [AArch64][SME] Reuse ZT0 spill slot (PR #158593)
Benjamin Maxwell via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 16 02:11:17 PDT 2025
================
@@ -8023,6 +8023,17 @@ static bool isPassedInFPR(EVT VT) {
(VT.isFloatingPoint() && !VT.isScalableVector());
}
+static SDValue getZT0FrameIndex(MachineFrameInfo &MFI,
+ AArch64FunctionInfo &FuncInfo,
+ SelectionDAG &DAG) {
+ if (!FuncInfo.hasZT0SpillSlotIndex())
+ FuncInfo.setZT0SpillSlotIndex(MFI.CreateSpillStackObject(64, Align(16)));
+
+ return DAG.getFrameIndex(
+ FuncInfo.getZT0SpillSlotIndex(),
+ DAG.getTargetLoweringInfo().getFrameIndexTy(DAG.getDataLayout()));
----------------
MacDue wrote:
You can't inline a new ZT0 function (like you can't inline a new ZA function), a shared ZT0 function can be inlined as that only results in a single ZT0 value/scope.
https://github.com/llvm/llvm-project/pull/158593
More information about the llvm-commits
mailing list