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

Sergei Barannikov via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 17 13:02:52 PDT 2024


================
@@ -802,11 +847,16 @@ bool CallLowering::handleAssignments(ValueHandler &Handler,
         Register StackAddr = Handler.getStackAddress(
             MemTy.getSizeInBytes(), VA.getLocMemOffset(), MPO, Flags);
 
+        // Finish the handling of indirect passing from the passers
+        // (OutgoingParameterHandler) side.
+        // This branch is needed, so the pointer to the value is loaded onto the
+        // stack.
+        if (IndirectParameterPassingHandled) {
----------------
s-barannikov wrote:

> I thought you were suggesting to replace `IndirectParameterPassingHandled` with `VA.getLocInfo() == CCValAssign::Indirect`, but after reading again, I think you are suggesting something else.

The current version looks like what I had in mind. Please excuse my poor English.


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


More information about the llvm-commits mailing list