[PowerPC][AIX] Implement by-val caller arguments in a single register.
This is the first of a series of patches that adds caller support for by-value arguments. This patch add support for arguments that are passed in a single GPR. There are 3 limitation cases: -The by-value argument is larger than a single register. -There are no remaining GPRs even though the by-value argument would otherwise fit in a single GPR. -The by-value argument requires alignment greater than register width. Future patches will be required to add support for these cases as well as for the callee handling (in LowerFormalArguments_AIX) that corresponds to this work. Differential Revision: https://reviews.llvm.org/D75863
Showing
- llvm/lib/Target/PowerPC/PPCISelLowering.cpp 80 additions, 10 deletionsllvm/lib/Target/PowerPC/PPCISelLowering.cpp
- llvm/test/CodeGen/PowerPC/aix-cc-byval-limitation1.ll 16 additions, 0 deletionsllvm/test/CodeGen/PowerPC/aix-cc-byval-limitation1.ll
- llvm/test/CodeGen/PowerPC/aix-cc-byval-limitation2.ll 16 additions, 0 deletionsllvm/test/CodeGen/PowerPC/aix-cc-byval-limitation2.ll
- llvm/test/CodeGen/PowerPC/aix-cc-byval-limitation3.ll 16 additions, 0 deletionsllvm/test/CodeGen/PowerPC/aix-cc-byval-limitation3.ll
- llvm/test/CodeGen/PowerPC/aix-cc-byval.ll 206 additions, 0 deletionsllvm/test/CodeGen/PowerPC/aix-cc-byval.ll
- llvm/test/CodeGen/PowerPC/aix64-cc-byval.ll 146 additions, 0 deletionsllvm/test/CodeGen/PowerPC/aix64-cc-byval.ll
Loading
Please register or sign in to comment