[PATCH] D150332: [SystemZ][z/OS] Save (and restore) R3 to avoid clobbering parameter when call stack frame extension is invoked
Ulrich Weigand via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu May 11 03:45:59 PDT 2023
uweigand added inline comments.
================
Comment at: llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp:1354
+ .addReg(SystemZ::R3D)
+ .addReg(SystemZ::R0D)
+ .addImm(SaveSlotR3)
----------------
%r0 cannot be used as base register. Is this really supposed to store to the low core? (On Linux, that might be unsafe as it could be clobbered if we're e.g. interrupted by an async signal handler - not sure if there are similar concerns on z/OS.) If yes, you need to use `addReg(0)` here. If no, I guess some other changes are required.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D150332/new/
https://reviews.llvm.org/D150332
More information about the llvm-commits
mailing list