[PATCH] D76401: [PowerPC][AIX] ByVal formal argument support: single register.

Zarko Todorovski via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 19 10:52:31 PDT 2020


ZarkoCA added a comment.

I think that we may need some more struct types with varying size elements. Right now, the tests mostly will check for mostly `lbz` at an offset.  Would be great if we see that `lha` or even `lw` is used when required.  However, this may be easier to do in a patch where arguments greater than register size are used?



================
Comment at: llvm/lib/Target/PowerPC/PPCISelLowering.cpp:7070
+      if (TrueSize > PtrByteSize)
+        report_fatal_error(
+            "Formal arguments greater then register size not implemented yet.");
----------------
There is already a fatal error in CC_AIX for this, would an assert be better here? 


================
Comment at: llvm/lib/Target/PowerPC/PPCISelLowering.cpp:7079
+          StackSize, Offset, /* IsImmutable */ false, /* IsAliased */ true);
+      SDValue FrameIndex = DAG.getFrameIndex(FI, PtrVT);
+
----------------
This variable in the other parts of the function is called FIN, we should be consistent I think. 


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D76401





More information about the llvm-commits mailing list