[PATCH] D92698: Add recursive decomposition reasoning to isKnownNonEqual

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 4 15:10:04 PST 2020


reames created this revision.
reames added reviewers: spatel, nikic, fhahn, craig.topper.
Herald added subscribers: dantrushin, bollu, hiraditya, mcrosier.
reames requested review of this revision.
Herald added a project: LLVM.

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.)

Note that this can't land until after D92694 <https://reviews.llvm.org/D92694> as the increase in scope makes that bug much more common.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D92698

Files:
  llvm/lib/Analysis/ValueTracking.cpp
  llvm/test/Analysis/ValueTracking/known-non-equal.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D92698.309671.patch
Type: text/x-patch
Size: 6961 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201204/39cb03e7/attachment.bin>


More information about the llvm-commits mailing list