aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/DebugInfo/CodeView/DebugSubsectionVisitor.cpp
diff options
context:
space:
mode:
authorFraser Cormack <fraser@codeplay.com>2022-01-28 12:33:37 +0000
committerFraser Cormack <fraser@codeplay.com>2022-02-08 10:35:25 +0000
commit62c4ac764bc0160ac4eed70a5becd4e015bcb65b (patch)
treea1ad635d48e5b08d1f77acea43da85c679f08767 /llvm/lib/DebugInfo/CodeView/DebugSubsectionVisitor.cpp
parent215aba771264c460498376ca56b7d720cbaf1265 (diff)
downloadllvm-62c4ac764bc0160ac4eed70a5becd4e015bcb65b.zip
llvm-62c4ac764bc0160ac4eed70a5becd4e015bcb65b.tar.gz
llvm-62c4ac764bc0160ac4eed70a5becd4e015bcb65b.tar.bz2
[RISCV] Optimize splats of extracted vector elements
This patch adds an optimization to splat-like operations where the splatted value is extracted from a identically-sized vector. On RVV we can splat that via vrgather.vx/vrgather.vi without dropping to scalar beforehand. We do have a similar VECTOR_SHUFFLE-specific optimization but that only works on fixed-length vector types and for those with a constant splat lane. This patch extends this optimization to make it work on scalable-vector types and on unknown extract indices. It is performed during fixed-vector BUILD_VECTOR lowering and during a new DAGCombine on SPLAT_VECTOR for scalable vectors. Reviewed By: craig.topper, khchen Differential Revision: https://reviews.llvm.org/D118456
Diffstat (limited to 'llvm/lib/DebugInfo/CodeView/DebugSubsectionVisitor.cpp')
0 files changed, 0 insertions, 0 deletions