aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2016-07-22 16:46:25 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2016-07-22 16:46:25 +0000
commit820f87a72d872987a95d1e5931f1dd7656f2ec0a (patch)
tree1d46ae62cb0fac56b5c103fd081e48c45f31423b /llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
parentc27f1b7182b41a262b8415afc03d21aa20326317 (diff)
downloadllvm-820f87a72d872987a95d1e5931f1dd7656f2ec0a.zip
llvm-820f87a72d872987a95d1e5931f1dd7656f2ec0a.tar.gz
llvm-820f87a72d872987a95d1e5931f1dd7656f2ec0a.tar.bz2
[SelectionDAG] Optimization of BITREVERSE legalization for power-of-2 integer scalar/vector types
An extension of D19978, this patch replaces the default BITREVERSE evaluation of individual bit masks+shifts with block mask+shifts when we have integer elements of power-of-2 bits in size. After calling BSWAP to reverse the order of the constituent bytes (which typically follows a similar approach), every neighbouring 4-bits, 2-bits and finally 1-bit pairs are masked off and swapped over with shifts. In doing so we can significantly reduce the number of operations required. Differential Revision: https://reviews.llvm.org/D21578 llvm-svn: 276432
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp')
0 files changed, 0 insertions, 0 deletions