[llvm] [RISCV] RISCV vector calling convention (2/2) (PR #79096)
Brandon Wu via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 7 00:51:43 PST 2024
================
@@ -20543,6 +20531,121 @@ unsigned RISCVTargetLowering::getMinimumJumpTableEntries() const {
return Subtarget.getMinimumJumpTableEntries();
}
+void RVVArgDispatcher::constructArgInfos(Type *Ty) {
----------------
4vtomat wrote:
By **vector tuple type**, I mean RVV tuple type, for example: `vint32m2x2_t` which needs 2 lmul2 vector registers. The llvm models it as `struct {vint32m2_t, vint32m2_t}` and it would be flattened by backend which makes it impossible to differentiate normal vector type and vector tuple type in `AssignFn`, that's why I added the helper to both GISel and normal selection DAG.
https://github.com/llvm/llvm-project/pull/79096
More information about the llvm-commits
mailing list