llvm/lib/Transforms
David Majnemer e049aa6ae3 [InstCombine] Don't aggressively replace xor with icmp
For some cases, InstCombine replaces the sequence of xor/sub instruction
followed by cmp instruction into a single cmp instruction.

However, this replacement may result suboptimal result especially when
the xor/sub has more than one use, as discussed in
bug 26465 (https://llvm.org/bugs/show_bug.cgi?id=26465).

This patch make the replacement happen only when xor/sub has only one
use.

Differential Revision: http://reviews.llvm.org/D16915

Patch by Taewook Oh!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@260695 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-12 18:12:38 +00:00
..
Hello Remove autoconf support 2016-01-26 21:29:08 +00:00
InstCombine [InstCombine] Don't aggressively replace xor with icmp 2016-02-12 18:12:38 +00:00
Instrumentation [msan] Put msan constructor in a comdat. 2016-02-12 00:37:52 +00:00
IPO [attrs] Simplify the convergent removal to directly use the pre-built 2016-02-12 09:47:49 +00:00
ObjCARC Add support for objc_unsafeClaimAutoreleasedReturnValue to the 2016-01-27 19:05:08 +00:00
Scalar Fix MSVC 2013 build after rL260504 2016-02-11 11:27:51 +00:00
Utils [msan] Put msan constructor in a comdat. 2016-02-12 00:37:52 +00:00
Vectorize [SLP] Add debug output for extract cost (NFC) 2016-02-11 23:06:40 +00:00
CMakeLists.txt
LLVMBuild.txt