[all-commits] [llvm/llvm-project] 8f0762: Add recursive decomposition reasoning to isKnownNo...

Philip Reames via All-commits all-commits at lists.llvm.org
Sat Dec 5 16:03:16 PST 2020


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8f076291be41467560ebf73738561225d2b67206
      https://github.com/llvm/llvm-project/commit/8f076291be41467560ebf73738561225d2b67206
  Author: Philip Reames <listmail at philipreames.com>
  Date:   2020-12-05 (Sat, 05 Dec 2020)

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

  Log Message:
  -----------
  Add recursive decomposition reasoning to isKnownNonEqual

The basic idea is that by looking through operand instructions which don't change the equality result that we can push the existing known bits comparison down past instructions which would obscure them.

We have analogous handling in InstSimplify for most - though weirdly not all - of these cases starting from an icmp root. It's a bit unfortunate to duplicate logic, but since my actual goal is to extend BasicAA, the icmp logic doesn't help. (And just makes it hard to test here.)  The BasicAA change will be posted separately for review.

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




More information about the All-commits mailing list