[PATCH] D70821: [SystemZ] Implement the packed stack layout
Ulrich Weigand via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 29 05:15:56 PST 2019
uweigand added a comment.
In D70821#1763719 <https://reviews.llvm.org/D70821#1763719>, @jonpa wrote:
> As long as we return our table of fixed offsets from getCalleeSavedSpillSlots() a register included there will get that offset in assignCalleeSavedSpillSlots(), instead of a created on-fixed object. I thought about changing SystemZFrameLowering::getCalleeSavedSpillSlots(), for instance by returning a NumEntries that could just be 4 less since the FP arg regs are last... But that method does currently not have MF as an argument, and I thought maybe it wouldn't be so bad to just put them below the GPRs... This is called before spillCalleeSavedRegisters() which is where we compute the range of GPRs to save...
I see. Maybe it would be better then to just not use the static "getCalleeSavedSpillSlots" method at all, and instead use the dynamic "assignCalleeSavedSpillSlots" method instead (like most other targets) ...
> We could add a setOffsetOfLocalArea(), to set it to a new smaller value if we also could make sure to always set it correctly for each function. But I think your idea of just adding the fixed objects as needed sounds better, so maybe I should give that a try..?
Agreed.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D70821/new/
https://reviews.llvm.org/D70821
More information about the llvm-commits
mailing list