diff options
author | Alexey Bataev <a.bataev@outlook.com> | 2021-07-07 13:02:54 -0700 |
---|---|---|
committer | Alexey Bataev <a.bataev@outlook.com> | 2021-07-08 07:56:41 -0700 |
commit | b5113bff461b87fa214fa8fafdffd8eaaf8cf0e7 (patch) | |
tree | 16e333f72ea8933e1384064855ab745c92ddcf6f /llvm/lib/Support/Threading.cpp | |
parent | 4e5d9c88033f1fc5d5206a02d8303bc6de43cf2b (diff) | |
download | llvm-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