[all-commits] [llvm/llvm-project] eb7e19: [RISCV][VLOPT] Allow users that are passthrus if t...

Luke Lau via All-commits all-commits at lists.llvm.org
Thu Jan 30 07:45:45 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: eb7e19998dd119ed391bd7f6882c393a712d571c
      https://github.com/llvm/llvm-project/commit/eb7e19998dd119ed391bd7f6882c393a712d571c
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-01-30 (Thu, 30 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/vl-opt.ll
    M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
    M llvm/test/CodeGen/RISCV/rvv/vmadd-vp.ll

  Log Message:
  -----------
  [RISCV][VLOPT] Allow users that are passthrus if tail elements aren't demanded (#124066)

The motivation for this to allow reducing the vl when a user is a
ternary pseudo, where the third operand is tied and also acts as a
passthru.

When checking the users of an instruction, we currently bail if the user
is used as a passthru because all of its elements past vl will be used
for the tail.

We can allow passthru users if we know the tail of their result isn't
used, which we will have computed beforehand after #124530

It's worth noting that this is all irrelevant of the tail policy,
because tail agnostic still ends up using the passthru.

I've checked that SPEC CPU 2017 + llvm-test-suite pass with this (on
qemu with rvv_ta_all_1s=true)

Fixes #123760



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list