[llvm] [GISel][RISCV]Implement indirect parameter passing for large scalars (PR #95429)

Michael Maitland via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 13 10:17:36 PDT 2024


================
@@ -751,6 +751,7 @@ bool CallLowering::handleAssignments(ValueHandler &Handler,
     const LLT NewLLT = Handler.isIncomingArgumentHandler() ? LocTy : ValTy;
     const EVT OrigVT = EVT::getEVT(Args[i].Ty);
     const LLT OrigTy = getLLTForType(*Args[i].Ty, DL);
+    const LLT PointerTy = LLT::pointer(0, DL.getPointerSizeInBits(0));
 
     // Expected to be multiple regs for a single incoming arg.
----------------
michaelmaitland wrote:

> // Expected to be multiple regs for a single incoming arg.

This is not true in the case of indirect assignment. Should we update the comment so the comment remains accurate? Alternatively, should `NumParts` be 1 when there is indirect assignment since we expect only one reg for an indirect assignment?

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


More information about the llvm-commits mailing list