[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 22 09:09:14 PST 2020


cebowleratibm created this revision.
cebowleratibm added reviewers: ZarkoCA, hubert.reinterpretcast, sfertile.
Herald added subscribers: llvm-commits, jsji, kbarton, hiraditya, nemanjai.
Herald added a project: LLVM.

This patch implements the caller side of placing function call arguments in stack memory.  This removes the current limitation where LLVM on AIX will report fatal error when arguments can't be contained in registers.

There is a particular oddity that a float argument that passes in a register and also in stack memory requires that the caller initialize both.  From what AIX "ABI" documentation I have it's not clear that this needs to be done, however, it is necessary for compatibility with the AIX XL compiler so I think it's best to implement it the same way.

Note a later patch will follow to address the callee side.


https://reviews.llvm.org/D73209

Files:
  llvm/lib/Target/PowerPC/PPCISelLowering.cpp
  llvm/test/CodeGen/PowerPC/aix-cc-abi.ll
  llvm/test/CodeGen/PowerPC/aix-stackargs.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D73209.239619.patch
Type: text/x-patch
Size: 29945 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200122/0840d7d6/attachment.bin>


More information about the llvm-commits mailing list