SuccessChanges

Summary

  1. [InstSimplify] use ConstantRange to simplify or-of-icmps We can simplify (or (icmp X, C1), (icmp X, C2)) to 'true' or one of the icmps in many cases. I had to check some of these with Alive to prove to myself it's right, but everything seems to check out. Eg, the deleted code in instcombine was completely ignoring predicates with mismatched signedness. This is a follow-up to: https://reviews.llvm.org/rL301260 https://reviews.llvm.org/D32143
Revision 302370 by spatel:
[InstSimplify] use ConstantRange to simplify or-of-icmps

We can simplify (or (icmp X, C1), (icmp X, C2)) to 'true' or one of the icmps in many cases.
I had to check some of these with Alive to prove to myself it's right, but everything seems
to check out. Eg, the deleted code in instcombine was completely ignoring predicates with
mismatched signedness.

This is a follow-up to:
https://reviews.llvm.org/rL301260
https://reviews.llvm.org/D32143
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/InstructionSimplify.cpp (diff)llvm-revision.src/llvm/trunk/lib/Analysis/InstructionSimplify.cpp
The file was modified/llvm/trunk/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp (diff)llvm-revision.src/llvm/trunk/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
The file was removed/llvm/trunk/test/Transforms/InstCombine/2005-06-16-SetCCOrSetCCMiscompile.llllvm-revision.src/llvm/trunk/test/Transforms/InstCombine/2005-06-16-SetCCOrSetCCMiscompile.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/and-or-icmps.ll (diff)llvm-revision.src/llvm/trunk/test/Transforms/InstCombine/and-or-icmps.ll
The file was modified/llvm/trunk/test/Transforms/InstCombine/or.ll (diff)llvm-revision.src/llvm/trunk/test/Transforms/InstCombine/or.ll
The file was modified/llvm/trunk/test/Transforms/InstSimplify/icmp-ranges.ll (diff)llvm-revision.src/llvm/trunk/test/Transforms/InstSimplify/icmp-ranges.ll