[all-commits] [llvm/llvm-project] fbb1b4: [ValueTracking] enhance matching of umin/umax with...

RotateRight via All-commits all-commits at lists.llvm.org
Mon Apr 6 08:52:04 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: fbb1b43f135a1af24cecbc7243d52fe6f85b7082
      https://github.com/llvm/llvm-project/commit/fbb1b43f135a1af24cecbc7243d52fe6f85b7082
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2020-04-06 (Mon, 06 Apr 2020)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/CodeGen/X86/vec_minmax_match.ll
    M llvm/test/Transforms/InstCombine/max-of-nots.ll
    M llvm/unittests/Analysis/ValueTrackingTest.cpp

  Log Message:
  -----------
  [ValueTracking] enhance matching of umin/umax with 'not' operands

The cmyk test is based on the known regression that resulted from:
rGf2fbdf76d8d0

This improves on the equivalent signed min/max change:
rG867f0c3c4d8c

The underlying icmp equivalence is:
  ~X pred ~Y --> Y pred X

For an icmp with constant, canonicalization results in a swapped pred:
  ~X < C -->  X > ~C




More information about the All-commits mailing list