[PATCH] D75023: [RISCV][GlobalISel] Add lowerCall for calling convention
Nitin John Raj via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon May 22 10:21:52 PDT 2023
nitinjohnraj requested review of this revision.
nitinjohnraj added inline comments.
================
Comment at: llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp:305
+
+ // TODO: Only integer, pointer and aggregate types are supported now.
+ if (!Info.OrigRet.Ty->isIntOrPtrTy() && !Info.OrigRet.Ty->isAggregateType())
----------------
eopXD wrote:
> This seems to contradict with the description of this patch, "Simple non-aggregate types are supported."
You're right. I've updated the description and added a test accordingly.
================
Comment at: llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calls.ll:265
+
+ %a = call i32* @i32_ptr_noargs()
+ ret void
----------------
arsenm wrote:
> Use opaque pointers
Updated.
================
Comment at: llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calls.ll:267
+ ret void
+}
----------------
arsenm wrote:
> Could use sret/byval tests. Also cases where the argument/return list is too long and needs to go to the stack
> Could use sret/byval tests.
I've added these.
> Also cases where the argument/return list is too long and needs to go to the stack
Are there other examples of a test like this?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D75023/new/
https://reviews.llvm.org/D75023
More information about the llvm-commits
mailing list