According to my auto-simplifier the most common missed simplifications in
authorDuncan Sands <baldrick@free.fr>
Tue, 25 Jan 2011 09:38:29 +0000 (09:38 +0000)
committerDuncan Sands <baldrick@free.fr>
Tue, 25 Jan 2011 09:38:29 +0000 (09:38 +0000)
commitd70d1a5c44609af091f6fc3e29193f9f4756a74f
treef55820e9c5f1f0b21e9ac628664a25dbd6bcbc1e
parentb38824f866447ccf8dd0c76656755b05bcede1b1
According to my auto-simplifier the most common missed simplifications in
optimized code are:
  (non-negative number)+(power-of-two) != 0 -> true
and
  (x | 1) != 0 -> true
Instcombine knows about the second one of course, but only does it if X|1
has only one use.  These fire thousands of times in the testsuite.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124183 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/ValueTracking.h
lib/Analysis/InstructionSimplify.cpp
lib/Analysis/ValueTracking.cpp
test/Transforms/InstSimplify/2011-01-18-Compare.ll