[all-commits] [llvm/llvm-project] c9540f: [InstCombine] Fix multi-use handling in cttz trans...
Nikita Popov via All-commits
all-commits at lists.llvm.org
Tue Feb 18 08:55:07 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: c9540fe59bbf53223368c18e457f79d3e981a3a5
https://github.com/llvm/llvm-project/commit/c9540fe59bbf53223368c18e457f79d3e981a3a5
Author: Nikita Popov <nikita.ppv at gmail.com>
Date: 2020-02-18 (Tue, 18 Feb 2020)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-cmp-cttz-ctlz.ll
Log Message:
-----------
[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
More information about the All-commits
mailing list