[PATCH] D73209: [AIX] Implement caller arguments passed in stack memory

Chris Bowler via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 29 07:31:05 PST 2020


cebowleratibm marked 3 inline comments as done.
cebowleratibm added inline comments.


================
Comment at: llvm/lib/Target/PowerPC/PPCISelLowering.cpp:7061
+  const unsigned NumBytes = std::max(LinkageSize + MinParameterSaveAreaSize,
+                                     CCInfo.getNextStackOffset());
 
----------------
ZarkoCA wrote:
> Does the value given by `CCInfo.getNextStackOffset()` account for the linkage save area?  I've found that it doesn't and only gives the size of the PSA when working on the callee side.    
LowerCall_AIX does:

  CCInfo.AllocateStack(LinkageSize, PtrByteSize);
  CCInfo.AnalyzeCallOperands(Outs, CC_AIX);

It needs to be done this way so that any stack arguments will get the correct stack offset.  When AnalyzeCallOperands is done, the stack offset accounts for the linkage save area.

LowerFormalArguments_AIX should also AllocateStack the linkage save area as well.  I think this can be done with the next patch for the callee work.


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

https://reviews.llvm.org/D73209





More information about the llvm-commits mailing list