[all-commits] [llvm/llvm-project] e47798: [InstCombine] Handle trunc i1 pattern in eq-of-par...

Nikita Popov via All-commits all-commits at lists.llvm.org
Mon Nov 25 02:49:23 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e477989a055f92f6ca63fc8f76929cde81d33e44
      https://github.com/llvm/llvm-project/commit/e477989a055f92f6ca63fc8f76929cde81d33e44
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-11-25 (Mon, 25 Nov 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/test/Transforms/InstCombine/eq-of-parts.ll

  Log Message:
  -----------
  [InstCombine] Handle trunc i1 pattern in eq-of-parts fold (#112704)

Equality/inequality of the low bit can be represented by `(trunc (xor x,
y) to i1)`, possibly with an extra not. We have to handle this in the
eq-of-parts fold now that we no longer canonicalize this to a masked
icmp.

Proofs: https://alive2.llvm.org/ce/z/qidkzq

Fixes https://github.com/llvm/llvm-project/issues/110919.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list