[PATCH] D133900: [AArch64][SME] Set up a lazy-save/restore around calls.
Kerry McLaughlin via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 27 03:26:10 PDT 2022
kmclaughlin updated this revision to Diff 463163.
kmclaughlin marked 2 inline comments as done.
kmclaughlin added a comment.
- Changed LowerCall to allocate a lazy-save buffer and TPIDR2 block if `RequiresLazySave` is true but the TPIDR2 object has not yet been set in AArch64FunctionInfo. This is possible where requiresLazySave finds no calls in the function, but the function contains an instruction which will be lowered to a lib call (e.g. a 128 bit floating-point add).
- Renamed requiresLazySave to requiresBufferForLazySave.
- Added a function for allocating the buffer & TPIDR2 object (allocateLazySaveBuffer).
- Added a test case to sme-shared-za-interface.ll for the scenario described above.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D133900/new/
https://reviews.llvm.org/D133900
Files:
llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/lib/Target/AArch64/AArch64ISelLowering.h
llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
llvm/lib/Target/AArch64/AArch64RegisterInfo.h
llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
llvm/test/CodeGen/AArch64/sme-lazy-save-call.ll
llvm/test/CodeGen/AArch64/sme-shared-za-interface.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D133900.463163.patch
Type: text/x-patch
Size: 25115 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220927/aa554df7/attachment.bin>
More information about the llvm-commits
mailing list