[all-commits] [llvm/llvm-project] a8a371: [AArch64][SME2] Preserve ZT0 state around function...
Kerry McLaughlin via All-commits
all-commits at lists.llvm.org
Sat Jan 20 04:06:13 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: a8a3711e745286fd26f726b3397dbe5fb03ea465
https://github.com/llvm/llvm-project/commit/a8a3711e745286fd26f726b3397dbe5fb03ea465
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
A llvm/test/CodeGen/AArch64/sme-zt0-state.ll
M llvm/unittests/Target/AArch64/SMEAttributesTest.cpp
Log Message:
-----------
[AArch64][SME2] Preserve ZT0 state around function calls (#78321)
If a function has ZT0 state and calls a function which does not
preserve ZT0, the caller must save and restore ZT0 around the call.
If the caller shares ZT0 state and the callee is not shared ZA, we must
additionally call SMSTOP/SMSTART ZA around the call.
This patch adds new AArch64ISDNodes for spilling & filling ZT0.
Where requiresPreservingZT0 is true, ZT0 state will be preserved
across a call.
More information about the All-commits
mailing list