[all-commits] [llvm/llvm-project] 13e9a5: [RISCV] Add overlapping constraints label

Piyou Chen via All-commits all-commits at lists.llvm.org
Thu Sep 21 02:39:24 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 13e9a56854c3a5ffddeafb8755facb74d2b74121
      https://github.com/llvm/llvm-project/commit/13e9a56854c3a5ffddeafb8755facb74d2b74121
  Author: Piyou Chen <piyou.chen at sifive.com>
  Date:   2023-09-21 (Thu, 21 Sep 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td

  Log Message:
  -----------
  [RISCV] Add overlapping constraints label

The RISCV-V-Spec[1] describes which RVV instructions are allowed to overlap between source operands and destination operands. Currently, most of these instructions are constrained with early-clobber.

This patch labels these instructions with TargetOverlapConstraintType in pseudo to indicate that these instructions can overlap.

The value of TargetOverlapConstraintType is:

1 -> default
2 -> narrow case
3 -> widen case

This information is useful for future optimization passes.

[1] https://github.com/riscv/riscv-v-spec/blob/master/v-spec.adoc#52-vector-operands

Reviewed By: craig.topper

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




More information about the All-commits mailing list