[llvm] [RISCV][GISEL] Add support for lowerFormalArguments that contain scalable vector types (PR #70882)

Michael Maitland via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 1 12:03:37 PDT 2023


================
@@ -303,6 +307,9 @@ static bool isSupportedArgumentType(Type *T, const RISCVSubtarget &Subtarget) {
     return true;
   if (T->isPointerTy())
     return true;
+  // TODO: Support fixed vector types.
+  if (T->isVectorTy() && T->isScalableTy() && Subtarget.hasVInstructions())
----------------
michaelmaitland wrote:

Thanks for catching this. As the PR is titled, I only intended on implementing lowerFormalArguments. I pushed a fixup below to fix this for now. The changes by the fixup should be removed when lowerCall support is added.

I don't think lowerCall should block this change since once this change goes in, it unblocks instruction selection for functions that take vector arguments, just not calls with vector arguments.

https://github.com/llvm/llvm-project/pull/70882


More information about the llvm-commits mailing list