[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