aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/StringMap.cpp
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2020-04-12 09:17:59 -0400
committerSanjay Patel <spatel@rotateright.com>2020-04-12 10:14:19 -0400
commitc23cbefd9d73e8551b0c8b6cc3f14bb6b067ca92 (patch)
treef694be2ac0142c58ad40cf8d257726d8a250f452 /llvm/lib/Support/StringMap.cpp
parent101a69d71b93f901561621508ed36b187e594d91 (diff)
downloadllvm-c23cbefd9d73e8551b0c8b6cc3f14bb6b067ca92.zip
llvm-c23cbefd9d73e8551b0c8b6cc3f14bb6b067ca92.tar.gz
llvm-c23cbefd9d73e8551b0c8b6cc3f14bb6b067ca92.tar.bz2
[VectorUtils] add IR-level analysis for widening of shuffle mask
This is similar to the recent move/addition of "scaleShuffleMask" (D76508), but there are a couple of differences: 1. The existing x86 helper (canWidenShuffleElements) always tries to divide-by-2, so it gets called iteratively and wouldn't handle the general case of non-pow-2 length. 2. The existing x86 code handles "SM_SentinelZero" - we don't have that in IR, but this code should be safe to use with that or other special (negative) values. The motivation is to enable shuffle folds in instcombine/vector-combine that are similar to D76844 and D76727, but in the reverse-bitcast direction. Those patterns are visible in the tests for D40633. Differential Revision: https://reviews.llvm.org/D77881
Diffstat (limited to 'llvm/lib/Support/StringMap.cpp')
0 files changed, 0 insertions, 0 deletions