[PATCH] D86476: [AIX] Add support for non var_arg extended vector ABI calling convention on AIX

Xiangling Liao via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 15 10:55:35 PDT 2020


Xiangling_L added a comment.

Hi Zarko, the patch is out of sync with master branch, could you update it?



================
Comment at: llvm/lib/Target/PowerPC/PPCISelLowering.cpp:6925
 
-  assert((!ValVT.isInteger() ||
-          (ValVT.getSizeInBits() <= RegVT.getSizeInBits())) &&
-         "Integer argument exceeds register size: should have been legalized");
+  if (ValVT.isInteger() && !ValVT.isVector())
+    assert(
----------------
Just want to confirm that this would not lead to a warning when compiled with assertion off?


================
Comment at: llvm/lib/Target/PowerPC/PPCISelLowering.cpp:6948
+
   if (ArgFlags.isByVal()) {
     if (ArgFlags.getNonZeroByValAlign() > PtrAlign)
----------------
If I understand correctly, `isByVal()` section is for aggregate parameter types only? Can we add some comments or even better an assertion here to indicate that?


================
Comment at: llvm/lib/Target/PowerPC/PPCISelLowering.cpp:7048
+  case MVT::v2f64:
+  case MVT::v2i64:
+  case MVT::v1i128: {
----------------
Are we using `v2i64` to support `vector long`? As ABI says, `the vector type with the long keyword are deprecated`. Should we emit an error for this type instead?


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

https://reviews.llvm.org/D86476



More information about the llvm-commits mailing list