aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Object/ELFObjectFile.cpp
diff options
context:
space:
mode:
authorLuke Lau <luke@igalia.com>2025-07-31 10:15:12 +0800
committerGitHub <noreply@github.com>2025-07-31 10:15:12 +0800
commit596640a245e3ba05c3fe42745984fb4bb921ad75 (patch)
treeb96e8b517b00bb605f5514cc97d1f2a1118d2d6f /llvm/lib/Object/ELFObjectFile.cpp
parent19f3aca7efc2f71c5210c182ea8a3ca01e5c1a10 (diff)
downloadllvm-596640a245e3ba05c3fe42745984fb4bb921ad75.zip
llvm-596640a245e3ba05c3fe42745984fb4bb921ad75.tar.gz
llvm-596640a245e3ba05c3fe42745984fb4bb921ad75.tar.bz2
[RISCV] Fold vmv.v.v into vmerge (#151341)
We support folding vmv.v.v into its source via the foldVMV_V_V peephole, but currently it requires that the source has a policy operand. PseudoVMERGEs (as well as add-with-carry/subtract-with-borrow pseudos) don't have a policy operand, and instead just seem to derive TA/TU from whether or not the passthru is undef, since the mask policy doesn't affect them. This patch allows pseudos without policy operands, given that if there's no policy operand then it will default to TU when the passthru is undefined which should be conservatively correct. I previously tried adding a policy operand to vmerge/vadc etc., but this ended up being a lot of churn. This removes a bunch of redundant vmv.v.vs that I noticed with EVL tail folding on llvm-test-suite.
Diffstat (limited to 'llvm/lib/Object/ELFObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions