diff options
author | Philip Reames <preames@rivosinc.com> | 2025-04-11 20:02:53 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-11 20:02:53 -0700 |
commit | 336b290923151d02fd6b3050ccbaf74f0aa08339 (patch) | |
tree | f2855efbc3e39bff0cef73e47da5adf1f0475331 /clang/lib/Frontend/CompilerInstance.cpp | |
parent | 357e3803bb94cc622c785f7eb60aa38d552bc5ef (diff) | |
download | llvm-336b290923151d02fd6b3050ccbaf74f0aa08339.zip llvm-336b290923151d02fd6b3050ccbaf74f0aa08339.tar.gz llvm-336b290923151d02fd6b3050ccbaf74f0aa08339.tar.bz2 |
[RISCV] Use a DAG combine to prune pointless vrgather.vi (#135392)
If the vrgather.vi is preceeded by a vmv.v.x which writes a superset of
the lanes writen by the vrgather, and the vrgather has no passthru, then
the vrgather has no semantic effect.
This is the start of a mini-series of patches around rewriting
vrgather.vi/vx preceeded by vmv.v.x, vfmf.v.f, vmv.s.x, etc... Starting
with the simplest, but also lowest impact.
One point I'd like a second oppinion on is the out of bounds semenatic
change. As far as I can tell, all the indices are in bounds by
construction. The doc change is as much as I couldn't figure out how to
test the alternative as anything else.
Diffstat (limited to 'clang/lib/Frontend/CompilerInstance.cpp')
0 files changed, 0 insertions, 0 deletions