[all-commits] [llvm/llvm-project] 29e8bf: [RISCV] RISCV vector calling convention (2/2) (#79...

Brandon Wu via All-commits all-commits at lists.llvm.org
Sat Mar 30 06:05:55 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 29e8bfc13c6078ed07e6474e8c9634c42aa2f6f4
      https://github.com/llvm/llvm-project/commit/29e8bfc13c6078ed07e6474e8c9634c42aa2f6f4
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-03-30 (Sat, 30 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll

  Log Message:
  -----------
  [RISCV] RISCV vector calling convention (2/2) (#79096)

This commit handles vector arguments/return for function definition/call,
the new class RVVArgDispatcher is added for doing all vector register
assignment including mask types, data types as well as tuple types.
It precomputes the register number for each argument as per
https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-cc.adoc#standard-vector-calling-convention-variant
and it's passed to calling convention function to handle all vector arguments.

Depends on: #78550



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list