[PATCH] D70821: [SystemZ] Implement the packed stack layout

Jonas Paulsson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 11 08:21:47 PST 2019


jonpa updated this revision to Diff 233374.
jonpa added a comment.

Varargs part of argument handling in assignCalleeSavedSpillSlots() moved into the !usePackedStack section.

> Why are you calling getOrCreateFramePointerSaveIndex in determineCalleeSaves?

This has to always be done, and since the PrologEpilogInserter.cpp:assignCalleeSavedSpillSlots() has an early exit if SavedRegs is empty, TFI->assignCalleeSavedSpillSlots() will not always be reached. So to me that wouldn't work...
Maybe the constructor of SystemZMachineFunctionInfo would actually be the best place, although that would force the usePackedStack() to be moved back there as well...


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D70821/new/

https://reviews.llvm.org/D70821

Files:
  llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
  llvm/lib/Target/SystemZ/SystemZFrameLowering.h
  llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
  llvm/lib/Target/SystemZ/SystemZMachineFunctionInfo.h
  llvm/test/CodeGen/SystemZ/anyregcc-novec.ll
  llvm/test/CodeGen/SystemZ/frame-02.ll
  llvm/test/CodeGen/SystemZ/frame-03.ll
  llvm/test/CodeGen/SystemZ/frame-04.ll
  llvm/test/CodeGen/SystemZ/frame-19.ll
  llvm/test/CodeGen/SystemZ/frame-20.ll
  llvm/test/CodeGen/SystemZ/frame-22.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D70821.233374.patch
Type: text/x-patch
Size: 43985 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191211/40d3c478/attachment.bin>


More information about the llvm-commits mailing list