diff options
author | Philip Reames <preames@rivosinc.com> | 2024-02-16 19:26:06 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-16 19:26:06 -0800 |
commit | db836f6094eafa5e60ca6395c8c195960108142a (patch) | |
tree | 54deb7c0683552d047945d4de90b39295948b227 /llvm/tools/llvm-cov/SourceCoverageView.cpp | |
parent | a8fdc93ee11a14aceb5805880da810140c7ca486 (diff) | |
download | llvm-db836f6094eafa5e60ca6395c8c195960108142a.zip llvm-db836f6094eafa5e60ca6395c8c195960108142a.tar.gz llvm-db836f6094eafa5e60ca6395c8c195960108142a.tar.bz2 |
[RISCV] Narrow vector absolute value (#82041)
If we have a abs(sext a) we can legally perform this as a zext (abs a).
(See the same combine in instcombine - note that the IntMinIsPoison flag
doesn't exist in SDAG yet.)
On RVV, this is likely profitable because it may allow us to perform the arithmetic
operations involved in the abs at a narrower LMUL before widening for the user.
We could arguably avoid narrowing below DLEN, but the transform should
at worst move around the extend and create one extra vsetvli toggle if the source
could previously be handled via loads explicit w/EEW.
Diffstat (limited to 'llvm/tools/llvm-cov/SourceCoverageView.cpp')
0 files changed, 0 insertions, 0 deletions