[all-commits] [llvm/llvm-project] 702c3f: [SME] Don't scavenge a spillslot in callee-save ar...
sdesmalen-arm via All-commits
all-commits at lists.llvm.org
Mon Sep 4 03:15:23 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 702c3f56d3868831f9aff104b53d6bde0ed2e5f1
https://github.com/llvm/llvm-project/commit/702c3f56d3868831f9aff104b53d6bde0ed2e5f1
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2023-09-04 (Mon, 04 Sep 2023)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/test/CodeGen/AArch64/sme-disable-gisel-fisel.ll
M llvm/test/CodeGen/AArch64/sme-streaming-body.ll
M llvm/test/CodeGen/AArch64/sme-streaming-interface.ll
A llvm/test/CodeGen/AArch64/sme-streaming-mode-changing-call-disable-stackslot-scavenging.ll
Log Message:
-----------
[SME] Don't scavenge a spillslot in callee-save area in presence of streaming-mode changes.
If no frame-pointer is available and the compiler has scavenged a
spill-slot in the callee-save area, the compiler may be forced to emit an
'addvl' inside the streaming-mode-changing call sequence when it needs to
fill (reload) an FP register being passed to the call.
We can avoid this entirely by disabling stack-slot scavenging when there
are streaming-mode-changing call-sequences in the function.
Reviewed By: david-arm
Differential Revision: https://reviews.llvm.org/D159196
More information about the All-commits
mailing list