aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2022-10-29 10:53:23 -0400
committerSanjay Patel <spatel@rotateright.com>2022-10-29 12:50:19 -0400
commit6064e92b0a84b6d52b25ab1e6da90e74c76c6eb0 (patch)
treeb4560028c37b42dd82f3ce570105369b596c4742 /llvm/lib/Support
parent50000ec2cb16a2f7c157164858ae10074064c1ee (diff)
downloadllvm-6064e92b0a84b6d52b25ab1e6da90e74c76c6eb0.zip
llvm-6064e92b0a84b6d52b25ab1e6da90e74c76c6eb0.tar.gz
llvm-6064e92b0a84b6d52b25ab1e6da90e74c76c6eb0.tar.bz2
[InstCombine] fold mul with incremented "shl 1" factor
X * ((1 << Z) + 1) --> (X << Z) + X https://alive2.llvm.org/ce/z/P-7WK9 It's possible that we could do better with propagating no-wrap, but this carries over the existing logic and appears to be correct. The naming differences on the existing folds are a result of using getName() to set the final value via Builder. That makes it easier to transfer no-wrap rather than the gymnastics required from the raw create instruction APIs.
Diffstat (limited to 'llvm/lib/Support')
0 files changed, 0 insertions, 0 deletions