diff options
author | Luke Lau <luke@igalia.com> | 2025-01-30 23:45:24 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-30 23:45:24 +0800 |
commit | eb7e19998dd119ed391bd7f6882c393a712d571c (patch) | |
tree | 1404ca2d712a6867118ee2f07ef1b776460cee0b /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | 83a1fe866640ac60c735a1427c41169067d31e05 (diff) | |
download | llvm-eb7e19998dd119ed391bd7f6882c393a712d571c.zip llvm-eb7e19998dd119ed391bd7f6882c393a712d571c.tar.gz llvm-eb7e19998dd119ed391bd7f6882c393a712d571c.tar.bz2 |
[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
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions