[PATCH] D76380: [PowerPC][AIX] Implement by-val caller arguments in multiple registers

Chris Bowler via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 18 12:29:54 PDT 2020


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

Ths patch builds upon commit rGc21866476e14 <https://reviews.llvm.org/rGc21866476e144377102ed358455dc105b4977764>, which added support for by-value arguments in a single register.  With this patch the by-value argument support on AIX is extended to by-value arguments that will fit within available GPRs.

I've moved the 5-8 byte tests, which were aix64 specific into aix-cc-byval.ll because they now work as multi GPR tests in 32-bit.  I've added a 64-byte by-value argument as an aix64 only test.  When the caller by-value support is complete, the aix-cc-byval-limitation tests will be deleted and the aix64-cc-byval.ll tests should be folded into aix-cc-byval.ll.

Remaining caller by-value argument work:
-by-val args, which require alignment greater than PtrByteSize.
-by-val args, which pass either partially or completely in stack memory.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D76380

Files:
  llvm/lib/Target/PowerPC/PPCISelLowering.cpp
  llvm/test/CodeGen/PowerPC/aix-cc-byval-limitation1.ll
  llvm/test/CodeGen/PowerPC/aix-cc-byval-limitation2.ll
  llvm/test/CodeGen/PowerPC/aix-cc-byval.ll
  llvm/test/CodeGen/PowerPC/aix64-cc-byval.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D76380.251146.patch
Type: text/x-patch
Size: 36160 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200318/33ca272e/attachment.bin>


More information about the llvm-commits mailing list