[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