diff options
author | Sanjay Patel <spatel@rotateright.com> | 2017-06-14 17:00:57 +0000 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2017-06-14 17:00:57 +0000 |
commit | ce0b99563a6fb1299ef6052138fb0f773539e1e4 (patch) | |
tree | d80ab93550f4c792185ad6500fecc66fc34ab392 /llvm/lib/Analysis/ValueTracking.cpp | |
parent | 4a911c867fec9fc71c561b7d0cea088b749f6ec0 (diff) | |
download | bcm5719-llvm-ce0b99563a6fb1299ef6052138fb0f773539e1e4.tar.gz bcm5719-llvm-ce0b99563a6fb1299ef6052138fb0f773539e1e4.zip |
[x86] replace div/rem with shift/mask for better shuffle combining perf
We know that shuffle masks are power-of-2 sizes, but there's no way (?) for LLVM to know that,
so hack combineX86ShufflesRecursively() to be much faster by replacing div/rem with shift/mask.
This makes the motivating compile-time bug in PR32037 ( https://bugs.llvm.org/show_bug.cgi?id=32037 )
about 9% faster overall.
Differential Revision: https://reviews.llvm.org/D34174
llvm-svn: 305398
Diffstat (limited to 'llvm/lib/Analysis/ValueTracking.cpp')
0 files changed, 0 insertions, 0 deletions