[all-commits] [llvm/llvm-project] a49f53: [InstCombine] generalize fold for mask-with-signbi...

RotateRight via All-commits all-commits at lists.llvm.org
Fri Oct 15 14:13:19 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a49f5386ce6b091da66ea7c3a1d9a588d53becf7
      https://github.com/llvm/llvm-project/commit/a49f5386ce6b091da66ea7c3a1d9a588d53becf7
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2021-10-15 (Fri, 15 Oct 2021)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/test/Transforms/InstCombine/sub-ashr-and-to-icmp-select.ll

  Log Message:
  -----------
  [InstCombine] generalize fold for mask-with-signbit-splat, part 2

This removes an over-specified fold. The more general transform
was added with:
727e642e970d

There's a difference on an existing test that shows a potentially
unnecessary use limit on an icmp fold.

That fold is in InstCombinerImpl::foldICmpSubConstant(), and IIRC
there was some back-and-forth on it and similar folds because they
could cause analysis/passes (SCEV, LSR?) to miss optimizations.

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




More information about the All-commits mailing list