[PATCH] D76902: [PowerPC][AIX] ByVal formal argument support: multiple registers

Zarko Todorovski via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 27 05:56:37 PDT 2020


ZarkoCA added a comment.

A small suggestion would be to add a test to further show that the GPRs are "burned" properly with with floats in the byval handling.  Eg. using a struct like `%struct.S31 = type <{ float, i32, i64, double, i32, double }>' and seeing the error that structs split regs and the stack are not handled.

However, it seems like that will be the next patch that will be done. So it may be useful to save that test for it instead of having it here only to show the error.



================
Comment at: llvm/lib/Target/PowerPC/PPCISelLowering.cpp:7113
+          report_fatal_error(
+              "Passing split between registers and stack not yet implemented.");
+        Offset += PtrByteSize;
----------------
"Passing structs split between registers..."?


================
Comment at: llvm/test/CodeGen/PowerPC/aix-cc-byval.ll:800
+
+%struct.S31 = type <{ float, i32, i64, double, i32, i16, i8 }>
 
----------------
This is a really good struct for a test.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D76902





More information about the llvm-commits mailing list