llvm-project/llvm/test/CodeGen
Bradley Smith 8f623f4ab0 [AArch64][SVE] Restore SP from FP when SVE CSRs and variable sized objects are present
Without SVE, after a dynamic stack allocation has modified the SP, it is
presumed that a frame pointer restoration will revert the SP back to
it's correct value prior to any caller stack being restored. However the
SVE frame is restored using the stack pointer directly, as it is located
after the frame pointer. This means that in the presence of a dynamic
stack allocation, any SVE callee state gets corrupted as SP has the
incorrect value when the SVE state is restored.

To address this issue, when variable sized objects and SVE CSRs are
present, treat the stack as having been realigned, hence restoring the
stack pointer from the frame pointerr prior to restoring the SVE state.

Differential Revision: https://reviews.llvm.org/D124615
2022-05-04 12:57:03 +00:00
..
AArch64 [AArch64][SVE] Restore SP from FP when SVE CSRs and variable sized objects are present 2022-05-04 12:57:03 +00:00
AMDGPU AMDGPU: Remove some invalid kill flags in tests 2022-05-04 00:05:15 +01:00
ARC
ARM [ARM] Only update the successor edges for immediate predecessors of PrologueMBB 2022-05-03 12:36:35 +01:00
AVR [AVR] Merge AVRRelaxMemOperations into AVRExpandPseudoInsts 2022-04-11 02:42:13 +00:00
BPF [BPF] Fix a bug in BPFMISimplifyPatchable pass 2022-04-19 15:24:26 -07:00
CSKY
DirectX
Generic [NVPTX][tests] add "XFAIL: nvptx" for some tests 2022-04-26 17:26:56 +03:00
Hexagon [NFC] Rename Instrinsic to Intrinsic 2022-04-25 18:13:23 +01:00
Inputs
Lanai
LoongArch [LoongArch] Add support for selecting constant materializations. 2022-04-15 12:04:35 +08:00
M68k [M68k] Regenerate cmp.ll tests 2022-04-21 16:54:00 +01:00
MIR [X86] Check the address in machine verifier 2022-04-28 10:05:39 +08:00
MLRegalloc [NVPTX][tests] Do not run the tests which are not supported by nvptx 2022-04-26 17:26:56 +03:00
MSP430
Mips [MIPS] Address instruction selection failure for abs.[sd] 2022-04-29 23:10:58 +01:00
NVPTX [NVPTX] Prefix "$L__" for branch label names 2022-04-30 21:55:20 +02:00
PowerPC [PowerPC] Regenerate urem-seteq-illegal-types.ll 2022-05-03 15:57:45 +01:00
RISCV [RISCV] Update isLegalAddressingMode for RVV. 2022-05-03 19:49:11 -07:00
SPARC
SPIRV [SPIR-V](6/6) Add the module analysis pass and the simplest tests 2022-04-20 01:10:25 +02:00
SystemZ [SystemZ] Avoid crashing in tryRISBGZero(). 2022-05-04 11:38:50 +02:00
Thumb [ARM] Only update the successor edges for immediate predecessors of PrologueMBB 2022-05-03 12:36:35 +01:00
Thumb2 ARM: Fix using undefined virtual registers in test 2022-05-04 00:05:49 +01:00
VE
WebAssembly
WinCFGuard
WinEH
X86 [X86] load-local illegal types tests - expose the load/store stack offsets 2022-05-04 12:21:07 +01:00
XCore