diff options
author | Philip Reames <preames@rivosinc.com> | 2024-07-11 13:52:41 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-11 13:52:41 -0700 |
commit | 657dbc3febb92d8e675b601d127b071c5ba61028 (patch) | |
tree | f4e30bc8c2f246d0dd2e5aaf458083dee0fb3406 /llvm/lib/Analysis/ModuleSummaryAnalysis.cpp | |
parent | 6f04f46927cf54d19cc2a1470f47d5db4b3b96bb (diff) | |
download | llvm-657dbc3febb92d8e675b601d127b071c5ba61028.zip llvm-657dbc3febb92d8e675b601d127b071c5ba61028.tar.gz llvm-657dbc3febb92d8e675b601d127b071c5ba61028.tar.bz2 |
[RISCV] Reorder shuffle operands if one side is an identity (#98534)
Doing so allows one side to fold entirely into the mask applied to the
other recursive call (or a vmerge.vv at worst). This is a generalization
of the existing IsSelect case (both operands are selects), so I removed
that code in the process.
This actually started as an attempt to remove the IsSelect bit as I'd
thought it was fully redundant
with the recursive formulation, but digging into test deltas revealed
that we depended on that
to catch the majority of the identity cases, and that in turn we were
missing some cases where only RHS was an identity.
Diffstat (limited to 'llvm/lib/Analysis/ModuleSummaryAnalysis.cpp')
0 files changed, 0 insertions, 0 deletions