[all-commits] [llvm/llvm-project] 41dde5: [InstSimplify] Support vectors in simplifyWithOpRe...

Nikita Popov via All-commits all-commits at lists.llvm.org
Thu Sep 22 01:46:11 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 41dde5d858cdfcddbd83dd6e17dc30594d47f2bd
      https://github.com/llvm/llvm-project/commit/41dde5d858cdfcddbd83dd6e17dc30594d47f2bd
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2022-09-22 (Thu, 22 Sep 2022)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/select-safe-bool-transforms.ll
    M llvm/test/Transforms/InstCombine/select.ll
    M llvm/test/Transforms/InstSimplify/select.ll

  Log Message:
  -----------
  [InstSimplify] Support vectors in simplifyWithOpReplaced()

We can handle vectors inside simplifyWithOpReplaced(), as long as
cross-lane operations are excluded. The equality can hold (or not
hold) for each vector lane independently, so we shouldn't use the
replacement value from other lanes.

I believe the only operations relevant here are shufflevector (where
all previous bugs were seen) and calls (which might use shuffle-like
intrinsics and would require more careful classification).

Differential Revision: https://reviews.llvm.org/D134348




More information about the All-commits mailing list