[PATCH] D75126: [AIX] Extend integer arguments to register width when passed in stack memory.

Sean Fertile via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 5 07:08:37 PST 2020


sfertile accepted this revision.
sfertile added a comment.
This revision is now accepted and ready to land.

LGTM.



================
Comment at: llvm/lib/Target/PowerPC/PPCISelLowering.cpp:6808
 
+  if (ValVT.isInteger() && (ValVT.getSizeInBits() > RegVT.getSizeInBits()))
+    report_fatal_error("Unexpected argument exceeds word size.");
----------------
cebowleratibm wrote:
> sfertile wrote:
> > For 32-bit codegen  we legalize i64s by breaking them into 2 i32s. Is i128  handled similarly, or is it a legal type which this error is trying to catch?
> i128 is handled similarly to i64.  In PPC64 it will take 2 registers and in PPC32 it will take 4 registers.
> 
> The code was not designed to handle this case so I put it in as a defensive measure.
Thanks for checking. In that case I would say make it an assert with a message that reads along the lines: "Illegal integer argument exceeds register size."


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D75126





More information about the llvm-commits mailing list