[all-commits] [llvm/llvm-project] 1b47a3: [RISCV] Enable cross basic block aware vsetvli ins...

Craig Topper via All-commits all-commits at lists.llvm.org
Wed May 26 09:26:37 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1b47a3de48d2ac3ee4420209ab5d191f66849979
      https://github.com/llvm/llvm-project/commit/1b47a3de48d2ac3ee4420209ab5d191f66849979
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2021-05-26 (Wed, 26 May 2021)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-select-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect.ll
    A llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
    A llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir

  Log Message:
  -----------
  [RISCV] Enable cross basic block aware vsetvli insertion

This patch extends D102737 to allow VL/VTYPE changes to be taken
into account before adding an explicit vsetvli.

We do this by using a data flow analysis to propagate VL/VTYPE
information from predecessors until we've determined a value for
every value in the function.

We use this information to determine if a vsetvli needs to be
inserted before the first vector instruction the block.

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




More information about the All-commits mailing list