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

Zarko Todorovski via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 29 08:25:58 PST 2020


ZarkoCA added inline comments.


================
Comment at: llvm/lib/Target/PowerPC/PPCISelLowering.cpp:7061
+  const unsigned NumBytes = std::max(LinkageSize + MinParameterSaveAreaSize,
+                                     CCInfo.getNextStackOffset());
 
----------------
cebowleratibm wrote:
> 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.
Got it, missed the part `CCInfo.AllocateStack(LinkageSize, PtrByteSize);` of the code previously. 


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

https://reviews.llvm.org/D73209





More information about the llvm-commits mailing list