diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2020-02-16 11:00:22 +0100 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2020-02-18 17:55:00 +0100 |
commit | c9540fe59bbf53223368c18e457f79d3e981a3a5 (patch) | |
tree | 24f768de7e779442991e9874aaf04b1dad2fc14b /llvm/lib/Transforms/Utils/LoopUtils.cpp | |
parent | 3126b556d13fa4d4eca87592b598c3af895292a5 (diff) | |
download | llvm-c9540fe59bbf53223368c18e457f79d3e981a3a5.zip llvm-c9540fe59bbf53223368c18e457f79d3e981a3a5.tar.gz llvm-c9540fe59bbf53223368c18e457f79d3e981a3a5.tar.bz2 |
[InstCombine] Fix multi-use handling in cttz transform
The select-of-cttz transform can currently duplicate cttz intrinsics
and zext/trunc ops. The cause is that it unnecessarily duplicates
the intrinsic and the zext/trunc when setting the "undef_on_zero"
flag to false. However, it's always legal to set the flag from true
to false, so we can make this replacement even if there are extra users.
Differential Revision: https://reviews.llvm.org/D74685
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopUtils.cpp')
0 files changed, 0 insertions, 0 deletions