diff options
author | David Bolvansky <david.bolvansky@gmail.com> | 2019-08-27 10:22:40 +0000 |
---|---|---|
committer | David Bolvansky <david.bolvansky@gmail.com> | 2019-08-27 10:22:40 +0000 |
commit | 0c2692108c458c80f0ed4a336695dc6293d8508b (patch) | |
tree | 444389c4ccc1824127720eae5f3322f038c6c657 /lldb/packages/Python/lldbsuite/test/functionalities/completion/TestCompletion.py | |
parent | a7f226f9dba3472173a1ea261a3f79114caf936c (diff) | |
download | bcm5719-llvm-0c2692108c458c80f0ed4a336695dc6293d8508b.tar.gz bcm5719-llvm-0c2692108c458c80f0ed4a336695dc6293d8508b.zip |
[InstCombine] Fold select with ctlz to cttz
Summary:
Handle pattern [0]:
int ctz(unsigned int a)
{
int c = __clz(a & -a);
return a ? 31 - c : c;
}
In reality, the compiler can generate much better code for cttz, so fold away this pattern.
https://godbolt.org/z/c5kPtV
[0] https://community.arm.com/community-help/f/discussions/2114/count-trailing-zeros
Reviewers: spatel, nikic, lebedev.ri, dmgreen, hfinkel
Reviewed By: hfinkel
Subscribers: hfinkel, javed.absar, kristof.beyls, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66308
llvm-svn: 370037
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/functionalities/completion/TestCompletion.py')
0 files changed, 0 insertions, 0 deletions