[all-commits] [llvm/llvm-project] f29166: [AArch64][SVE] Disable tail calls if callee does n...
sdesmalen-arm via All-commits
all-commits at lists.llvm.org
Wed Aug 5 01:40:08 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: f2916636f83dfeb4808a16045db0025783743471
https://github.com/llvm/llvm-project/commit/f2916636f83dfeb4808a16045db0025783743471
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2020-08-05 (Wed, 05 Aug 2020)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
A llvm/test/CodeGen/AArch64/sve-tailcall.ll
Log Message:
-----------
[AArch64][SVE] Disable tail calls if callee does not preserve SVE regs.
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(); }
Reviewed By: efriedma
Differential Revision: https://reviews.llvm.org/D84869
More information about the All-commits
mailing list