[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