[all-commits] [llvm/llvm-project] 9a9421: Reapply [InstCombine] Fold multiuse shr eq zero
Nikita Popov via All-commits
all-commits at lists.llvm.org
Sat May 22 05:47:16 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 9a9421a461166482465e786a46f8cced63cd2e9f
https://github.com/llvm/llvm-project/commit/9a9421a461166482465e786a46f8cced63cd2e9f
Author: Nikita Popov <nikita.ppv at gmail.com>
Date: 2021-05-22 (Sat, 22 May 2021)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-shr.ll
M llvm/test/Transforms/InstCombine/icmp_sdiv_with_and_without_range.ll
M llvm/test/Transforms/PhaseOrdering/X86/ctlz-loop.ll
Log Message:
-----------
Reapply [InstCombine] Fold multiuse shr eq zero
This was reverted due to performance regressions in ARM benchmarks,
which have since been addressed by D101196 (SCEV analysis improvement)
and D101778 (CGP reverse transform).
-----
The single-use case is handled implicity by converting the icmp
into a mask check first. When comparing with zero in particular,
we don't need the one-use restriction, as we only produce a single
icmp.
https://alive2.llvm.org/ce/z/MSixcm
https://alive2.llvm.org/ce/z/GwpG0M
More information about the All-commits
mailing list