aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/Threading.cpp
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@outlook.com>2021-07-07 13:02:54 -0700
committerAlexey Bataev <a.bataev@outlook.com>2021-07-08 07:56:41 -0700
commitb5113bff461b87fa214fa8fafdffd8eaaf8cf0e7 (patch)
tree16e333f72ea8933e1384064855ab745c92ddcf6f /llvm/lib/Support/Threading.cpp
parent4e5d9c88033f1fc5d5206a02d8303bc6de43cf2b (diff)
downloadllvm-b5113bff461b87fa214fa8fafdffd8eaaf8cf0e7.zip
llvm-b5113bff461b87fa214fa8fafdffd8eaaf8cf0e7.tar.gz
llvm-b5113bff461b87fa214fa8fafdffd8eaaf8cf0e7.tar.bz2
[Instcombine]Transform reduction+(sext/zext(<n x i1>) to <n x im>) to [-]zext/trunc(ctpop(bitcast <n x i1> to in)) to im.
Some of the SPEC tests end up with reduction+(sext/zext(<n x i1>) to <n x im>) pattern, which can be transformed to [-]zext/trunc(ctpop(bitcast <n x i1> to in)) to im. Also, reduction+(<n x i1>) can be transformed to ctpop(bitcast <n x i1> to in) & 1 != 0. Differential Revision: https://reviews.llvm.org/D105587
Diffstat (limited to 'llvm/lib/Support/Threading.cpp')
0 files changed, 0 insertions, 0 deletions