aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/ADT/StringRefTest.cpp
diff options
context:
space:
mode:
authorPhilip Reames <preames@rivosinc.com>2024-05-08 10:13:01 -0700
committerGitHub <noreply@github.com>2024-05-08 10:13:01 -0700
commit4298fc5eb5c483fb72db6fce062352087dfd0acf (patch)
tree0475d45beb86475e74a90755ad7c6cd71ed781d6 /llvm/unittests/ADT/StringRefTest.cpp
parentb59461ac63aa1770a617f96bab31010442bd2090 (diff)
downloadllvm-4298fc5eb5c483fb72db6fce062352087dfd0acf.zip
llvm-4298fc5eb5c483fb72db6fce062352087dfd0acf.tar.gz
llvm-4298fc5eb5c483fb72db6fce062352087dfd0acf.tar.bz2
[RISCV] Move strength reduction of mul X, 3/5/9*2^N to combine (#89966)
This moves our last major category tablegen driven multiply strength reduction into the post legalize combine framework. The one slightly tricky bit is making sure that we use a leading shl if we can form a slli.uw, and trailing shl otherwise. Having the trailing shl is critical for shNadd matching, and folding any following sext.w. As can be seen in the TD deltas, this allows us to kill off both the actual multiply patterns and the explicit add (mul X, C) Y patterns. The later are now handled by the generic shNadd matching code, with the exception of the THead only C=200 case because we don't (yet) have a multiply expansion with two shNadd + a shift. --------- Co-authored-by: Yingwei Zheng <dtcxzyw@qq.com>
Diffstat (limited to 'llvm/unittests/ADT/StringRefTest.cpp')
0 files changed, 0 insertions, 0 deletions