[all-commits] [llvm/llvm-project] 3d385c: [InstCombine] Add tests for multiuse shr eq zero (...

Nikita Popov via All-commits all-commits at lists.llvm.org
Mon Apr 19 13:13:52 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3d385cc90ea8bcbef5f80b671e6ae3c6d838895f
      https://github.com/llvm/llvm-project/commit/3d385cc90ea8bcbef5f80b671e6ae3c6d838895f
  Author: Nikita Popov <nikita.ppv at gmail.com>
  Date:   2021-04-19 (Mon, 19 Apr 2021)

  Changed paths:
    M llvm/test/Transforms/InstCombine/icmp-shr.ll

  Log Message:
  -----------
  [InstCombine] Add tests for multiuse shr eq zero (NFC)

The exact case is folded, the inexact one is not.


  Commit: 9423f78240a216e3f38b394a41fe3427dee22c26
      https://github.com/llvm/llvm-project/commit/9423f78240a216e3f38b394a41fe3427dee22c26
  Author: Nikita Popov <nikita.ppv at gmail.com>
  Date:   2021-04-19 (Mon, 19 Apr 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:
  -----------
  [InstCombine] Fold multiuse shr eq zero

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


Compare: https://github.com/llvm/llvm-project/compare/abacaef18162...9423f78240a2


More information about the All-commits mailing list