llvm-6502/lib/Transforms/InstCombine
Owen Anderson 3042a65e5f Remove a very old instcombine where we would turn sequences of selects into
logical operations on the i1's driving them.  This is a bad idea for every
target I can think of (confirmed with micro tests on all of: x86-64, ARM,
AArch64, Mips, and PowerPC) because it forces the i1 to be materialized into
a general purpose register, whereas consuming it directly into a select generally
allows it to exist only transiently in a predicate or flags register.

Chandler ran a set of performance tests with this change, and reported no
measurable change on x86-64.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201275 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-12 23:54:07 +00:00
..
CMakeLists.txt
InstCombine.h InstCombine: Hoist 3 copies of AddOne/SubOne into a header. 2014-01-19 16:56:10 +00:00
InstCombineAddSub.cpp Fix all the remaining lost-fast-math-flags bugs I've been able to find. The most important of these are cases in the generic logic for combining BinaryOperators. 2014-01-20 07:44:53 +00:00
InstCombineAndOrXor.cpp InstCombine: Teach icmp merging about the equivalence of bit tests and UGE/ULT with a power of 2. 2014-02-11 21:09:03 +00:00
InstCombineCalls.cpp Update optimization passes to handle inalloca arguments 2014-01-28 02:38:36 +00:00
InstCombineCasts.cpp Fix known typos 2014-01-24 17:20:08 +00:00
InstCombineCompares.cpp Remove a very old instcombine where we would turn sequences of selects into 2014-02-12 23:54:07 +00:00
InstCombineLoadStoreAlloca.cpp Update optimization passes to handle inalloca arguments 2014-01-28 02:38:36 +00:00
InstCombineMulDivRem.cpp Fix all the remaining lost-fast-math-flags bugs I've been able to find. The most important of these are cases in the generic logic for combining BinaryOperators. 2014-01-20 07:44:53 +00:00
InstCombinePHI.cpp
InstCombineSelect.cpp Fix more instances of dropped fast math flags when optimizing FADD instructions. All found by inspection (aka grep). 2014-01-18 00:48:14 +00:00
InstCombineShifts.cpp
InstCombineSimplifyDemanded.cpp
InstCombineVectorOps.cpp InstCombine: Don't try to use aggregate elements of ConstantExprs. 2014-01-24 19:02:37 +00:00
InstCombineWorklist.h
InstructionCombining.cpp Disable most IR-level transform passes on functions marked 'optnone'. 2014-02-06 00:07:05 +00:00
LLVMBuild.txt
Makefile