[all-commits] [llvm/llvm-project] 80c643: [SystemZ][z/OS] Save (and restore) R3 to avoid clo...
Neumann Hon via All-commits
all-commits at lists.llvm.org
Fri May 12 06:34:27 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 80c643c46422e2af165aacf5d556604b118598b8
https://github.com/llvm/llvm-project/commit/80c643c46422e2af165aacf5d556604b118598b8
Author: Neumann Hon <neumann.hon at ibm.com>
Date: 2023-05-12 (Fri, 12 May 2023)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
Log Message:
-----------
[SystemZ][z/OS] Save (and restore) R3 to avoid clobbering parameter when call stack frame extension is invoked
When the stack frame extension routine is used, the contents of r3 is overwritten.
However, if r3 is live in the prologue (ie. one of the function's parameters
resides in r3), it needs to be saved. We save r3 in r0 if r0 is available
(ie. r0 is not used as temporary storage for r4), and in the corresponding
stack slot for the third parameter otherwise.
Differential Revision: https://reviews.llvm.org/D150332
Reviewed By: uweigand
More information about the All-commits
mailing list