[all-commits] [llvm/llvm-project] f6a6d4: [AArch64][SME] Support saving/restoring ZT0 in the...
Benjamin Maxwell via All-commits
all-commits at lists.llvm.org
Tue Nov 25 02:33:45 PST 2025
Branch: refs/heads/users/MacDue/mirzt0_3
Home: https://github.com/llvm/llvm-project
Commit: f6a6d49f1f6956c1cb66ce9ec1fba60c48d73c7f
https://github.com/llvm/llvm-project/commit/f6a6d49f1f6956c1cb66ce9ec1fba60c48d73c7f
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-11-25 (Tue, 25 Nov 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
M llvm/test/CodeGen/AArch64/sme-peephole-opts.ll
M llvm/test/CodeGen/AArch64/sme-za-exceptions.ll
M llvm/test/CodeGen/AArch64/sme-zt0-state.ll
Log Message:
-----------
[AArch64][SME] Support saving/restoring ZT0 in the MachineSMEABIPass
This patch extends the MachineSMEABIPass to support ZT0. This is done
with the addition of two new states:
- `ACTIVE_ZT0_SAVED`
* This is used when calling a function that shares ZA, but does
share ZT0 (i.e., no ZT0 attributes).
* This state indicates ZT0 must be saved to the save slot, but
must remain on, with no lazy save setup
- `LOCAL_COMMITTED`
* This is used for saving ZT0 in functions without ZA state.
* This state indicates ZA is off and ZT0 has been saved.
* This state is general enough to support ZA, but those
have not been implementedâ€
To aid with readability, the state transitions have been reworked to a
switch of `transitionFrom(<FromState>).to(<ToState>)`, rather than
nested ifs, which helps manage more transitions.
†This could be implemented to handle some cases of undefined behavior
better.
Change-Id: I14be4a7f8b998fe667bfaade5088f88039515f91
Commit: 847d29696ab63afc6ed4b1c426e61e9fe124e612
https://github.com/llvm/llvm-project/commit/847d29696ab63afc6ed4b1c426e61e9fe124e612
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-11-25 (Tue, 25 Nov 2025)
Changed paths:
M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
Log Message:
-----------
Make transistions to OFF explicit
Change-Id: I80a6f954f308269684f205098ee43eb20e1bd670
Commit: 2ccc561d37b0338d7dfb029cd0c75479760c9d42
https://github.com/llvm/llvm-project/commit/2ccc561d37b0338d7dfb029cd0c75479760c9d42
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-11-25 (Tue, 25 Nov 2025)
Changed paths:
M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
Log Message:
-----------
Add comment
Change-Id: I29831358c352e68eb5838bb4d8f2e424ba415adb
Commit: 47a8e8fa504d0cc0df919876f0f46b16e0737527
https://github.com/llvm/llvm-project/commit/47a8e8fa504d0cc0df919876f0f46b16e0737527
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-11-25 (Tue, 25 Nov 2025)
Changed paths:
M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
Log Message:
-----------
TODO
Change-Id: Ib00ead9b59fdf77151ea21a26341d3d4b6502a32
Commit: 840c0801a2663504878c4736fbc29005863132a9
https://github.com/llvm/llvm-project/commit/840c0801a2663504878c4736fbc29005863132a9
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-11-25 (Tue, 25 Nov 2025)
Changed paths:
M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
M llvm/test/CodeGen/AArch64/sme-za-exceptions.ll
Log Message:
-----------
Add extra test (and missing transition)
Change-Id: If4df9272e1951487a0491b734293f3265024c6a9
Commit: b769f41acc4e04a402f5e287443822c797ce27d7
https://github.com/llvm/llvm-project/commit/b769f41acc4e04a402f5e287443822c797ce27d7
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-11-25 (Tue, 25 Nov 2025)
Changed paths:
M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
Log Message:
-----------
Remove [[maybe_unused]]
Change-Id: I762a5672deffef003dea39832f8fa11c202a78cb
Compare: https://github.com/llvm/llvm-project/compare/34d359105ad4...b769f41acc4e
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list