[all-commits] [llvm/llvm-project] f5bbdf: [ValueTracking] Add more tests for isKnownNonEqual...

Nikita Popov via All-commits all-commits at lists.llvm.org
Sun Mar 21 10:41:56 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f5bbdf2a674a94c568aaa7dca4c282901256683b
      https://github.com/llvm/llvm-project/commit/f5bbdf2a674a94c568aaa7dca4c282901256683b
  Author: Nikita Popov <nikita.ppv at gmail.com>
  Date:   2021-03-21 (Sun, 21 Mar 2021)

  Changed paths:
    M llvm/test/Analysis/ValueTracking/known-non-equal.ll

  Log Message:
  -----------
  [ValueTracking] Add more tests for isKnownNonEqual() of mul (NFC)

This is for the case of (x * C) == x, rather than the
(x * C1) == (x * C2) variant that we already cover.


  Commit: d11d5d1c5f5a8bafc28be98f43c15a3452abb98b
      https://github.com/llvm/llvm-project/commit/d11d5d1c5f5a8bafc28be98f43c15a3452abb98b
  Author: Nikita Popov <nikita.ppv at gmail.com>
  Date:   2021-03-21 (Sun, 21 Mar 2021)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/known-non-equal.ll

  Log Message:
  -----------
  [ValueTracking] Improve mul handling in isKnownNonEqual()

X != X * C is true if:
 * C is not 0 or 1
 * X is not 0
 * mul is nsw or nuw

Proof: https://alive2.llvm.org/ce/z/uwF29z

This is motivated by one of the cases in D98422.


Compare: https://github.com/llvm/llvm-project/compare/1d909c9a3571...d11d5d1c5f5a


More information about the All-commits mailing list