llvm-6502/lib
Matthias Braun 47941aa098 DAGCombiner: Canonicalize select(and/or,x,y) depending on target.
This is based on the following equivalences:
select(C0 & C1, X, Y) <=> select(C0, select(C1, X, Y), Y)
select(C0 | C1, X, Y) <=> select(C0, X, select(C1, X, Y))

Many target cannot perform and/or on the CPU flags and therefore the
right side should be choosen to avoid materializign the i1 flags in an
integer register. If the target can perform this operation efficiently
we normalize to the left form.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231507 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-06 19:49:10 +00:00
..
Analysis Avoid calls to dumpPassInfo and RegionBase<Tr>::getNameStr() in RGPassManager if 2015-03-06 16:15:04 +00:00
AsmParser Revert "unique_ptrify ValID::ConstantStructElts" 2015-03-04 18:31:10 +00:00
Bitcode Add missing includes. make_unique proliferated everywhere. 2015-03-01 21:28:53 +00:00
CodeGen DAGCombiner: Canonicalize select(and/or,x,y) depending on target. 2015-03-06 19:49:10 +00:00
DebugInfo DWARFFormValue: Add getAsSignedConstant method. 2015-03-04 22:07:41 +00:00
ExecutionEngine Fold init() helpers into constructors. NFC. 2015-03-06 16:21:15 +00:00
Fuzzer [sanitizer/coverage] Add AFL-style coverage counters (search heuristic for fuzzing). 2015-03-03 23:27:02 +00:00
IR [ConstantRange] Teach multiply to be cleverer about signed ranges. 2015-03-06 15:50:47 +00:00
IRReader
LineEditor
Linker Remember to move a type to the correct set when setting the body. 2015-03-06 00:50:21 +00:00
LTO Make DataLayout Non-Optional in the Module 2015-03-04 18:43:29 +00:00
MC Use the generic Lfunc_begin label on ppc. 2015-03-05 18:55:50 +00:00
Object Make DataLayout Non-Optional in the Module 2015-03-04 18:43:29 +00:00
Option Remove explicit no-op dtor in favor of the implicit dtor so as not to disable/deprecate the copy operations. 2015-03-03 19:53:02 +00:00
ProfileData Add missing includes. make_unique proliferated everywhere. 2015-03-01 21:28:53 +00:00
Support Support: Improve performance of FileOutputBuffer on Windows 2015-03-06 06:07:32 +00:00
TableGen Add missing includes. make_unique proliferated everywhere. 2015-03-01 21:28:53 +00:00
Target R600/SI: Remove unused register class 2015-03-06 17:00:16 +00:00
Transforms LoopInterchange: Remove empty method. 2015-03-06 19:37:26 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile