[all-commits] [llvm/llvm-project] 4f500c: [RISCV] Support vector types in combination with f...

Fraser Cormack via All-commits all-commits at lists.llvm.org
Tue Jun 1 02:39:37 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4f500c402b7357808d9595313438f223447dcace
      https://github.com/llvm/llvm-project/commit/4f500c402b7357808d9595313438f223447dcace
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2021-06-01 (Tue, 01 Jun 2021)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    A llvm/test/CodeGen/RISCV/rvv/calling-conv-fastcc.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv-fastcc.ll

  Log Message:
  -----------
  [RISCV] Support vector types in combination with fastcc

This patch extends the RISC-V lowering of the 'fastcc' calling
convention to vector types, both fixed-length and scalable. Without this
patch, any function passing or returning vector types by value would
throw a compiler error.

Vectors are handled in 'fastcc' much as they are in the default calling
convention, the noticeable difference being the extended set of scalar
GPR registers that can be used to pass vectors indirectly.

Reviewed By: HsiangKai

Differential Revision: https://reviews.llvm.org/D102505




More information about the All-commits mailing list