aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInstance.cpp
diff options
context:
space:
mode:
authorPhilip Reames <preames@rivosinc.com>2025-04-11 20:02:53 -0700
committerGitHub <noreply@github.com>2025-04-11 20:02:53 -0700
commit336b290923151d02fd6b3050ccbaf74f0aa08339 (patch)
treef2855efbc3e39bff0cef73e47da5adf1f0475331 /clang/lib/Frontend/CompilerInstance.cpp
parent357e3803bb94cc622c785f7eb60aa38d552bc5ef (diff)
downloadllvm-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