[all-commits] [llvm/llvm-project] cde91c: [RISCV] Canonicalize towards vid w/passthrough rep...

Philip Reames via All-commits all-commits at lists.llvm.org
Wed Jun 14 09:37:17 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: cde91c611d3232e4174e2b45b73d4aba1b772115
      https://github.com/llvm/llvm-project/commit/cde91c611d3232e4174e2b45b73d4aba1b772115
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2023-06-14 (Wed, 14 Jun 2023)

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

  Log Message:
  -----------
  [RISCV] Canonicalize towards vid w/passthrough representation

This patch teaches performCombineVMergeAndVOps how to handle a True instruction (the one being merged into) which is a _TU psuedo, but with an implicit_def passthrough operand.  These are semantically equivalent to the unsuffixed "TA" psuedos, and we can hnndle them as such.

This is a companion to D152380, and demonstrates the unsuffixed to _TA pseudo transition for a non-VMERGE case. Between the two of them, these should cover all the changes required to the post-ISEL combines, and other arithmetic-like instructions should be just TD changes.

See https://discourse.llvm.org/t/riscv-transition-in-vector-pseudo-structure-policy-variants/71295 for context on the patch series.

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




More information about the All-commits mailing list