[all-commits] [llvm/llvm-project] 2b37c4: [RISCV] Scale scalably-typed split argument offset...

Fraser Cormack via All-commits all-commits at lists.llvm.org
Mon May 31 02:51:39 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2b37c405cc18019ea5056a63fa65f839a4890b50
      https://github.com/llvm/llvm-project/commit/2b37c405cc18019ea5056a63fa65f839a4890b50
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2021-05-31 (Mon, 31 May 2021)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll

  Log Message:
  -----------
  [RISCV] Scale scalably-typed split argument offsets by VSCALE

This patch fixes a bug in lowering scalable-vector types in RISC-V's
main calling convention. When scalable-vector types are split and passed
indirectly, the target is responsible for scaling the offset --
initially set to the known-minimum store size -- by the scalable factor.

Before this we were issuing overlapping loads or stores to the different
parts, leading to incorrect codegen.

Credit to @HsiangKai for spotting this.

Reviewed By: HsiangKai

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




More information about the All-commits mailing list