diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2019-01-05 09:48:16 +0000 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2019-01-05 09:48:16 +0000 |
commit | 65038515ee4465d20103b2c32b337a76a2c63b53 (patch) | |
tree | e6e6ce7bb99118a6303a3da242e29da84d5ce63c /lldb/packages/Python/lldbsuite/test/expression_command/anonymous-struct/main.cpp | |
parent | 7bd4900ba095b26fedc595275ecf40c8329b7aa8 (diff) | |
download | bcm5719-llvm-65038515ee4465d20103b2c32b337a76a2c63b53.tar.gz bcm5719-llvm-65038515ee4465d20103b2c32b337a76a2c63b53.zip |
[InstCombine] Relax cttz/ctlz with select on zero
The cttz/ctlz intrinsics have a parameter specifying whether the
result is undefined for zero. cttz(x, false) can be relaxed to
cttz(x, true) if x is known non-zero, and in fact such an optimization
is already performed. However, this currently doesn't work if x is
non-zero as a result of a select rather than an explicit branch.
This patch adds handling for this case, thus allowing
x != 0 ? cttz(x, false) : y to simplify to x != 0 ? cttz(x, true) : y.
Differential Revision: https://reviews.llvm.org/D55786
llvm-svn: 350463
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/expression_command/anonymous-struct/main.cpp')
0 files changed, 0 insertions, 0 deletions