[PATCH] D84869: [AArch64][SVE] Disable tail calls if callee does not preserve SVE regs.
Sander de Smalen via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 29 09:35:23 PDT 2020
sdesmalen created this revision.
sdesmalen added reviewers: paulwalker-arm, efriedma, david-arm.
Herald added subscribers: danielkiss, psnobl, hiraditya, kristof.beyls, tschuett.
Herald added a reviewer: rengolin.
Herald added a project: LLVM.
sdesmalen requested review of this revision.
This fixes an issue triggered by the following code, where emitEpilogue
got confused when trying to restore the SVE registers after the call,
whereas the call to bar() is implemented as a TCReturn:
int non_sve();
int sve(svint32_t x) { return non_sve(); }
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D84869
Files:
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
llvm/lib/Target/AArch64/AArch64RegisterInfo.h
llvm/test/CodeGen/AArch64/sve-tailcall.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D84869.281641.patch
Type: text/x-patch
Size: 11085 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200729/85fbde15/attachment.bin>
More information about the llvm-commits
mailing list