llvm-project/llvm/lib/Transforms/InstCombine
Benjamin Kramer d5d7f37beb InstCombine: Add a bunch of combines of the form x | (y ^ z).
We usually catch this kind of optimization through InstSimplify's distributive
magic, but or doesn't distribute over xor in general.

"A | ~(A | B) -> A | ~B" hits 24 times on gcc.c.

llvm-svn: 126081
2011-02-20 13:23:43 +00:00
..
CMakeLists.txt Removed a bunch of unnecessary target_link_libraries. 2010-09-28 22:39:14 +00:00
InstCombine.h refactor some code out into a helper method. 2011-02-13 07:43:07 +00:00
InstCombineAddSub.cpp add is always integer, thanks to Frits for noticing this. 2011-02-17 20:55:29 +00:00
InstCombineAndOrXor.cpp InstCombine: Add a bunch of combines of the form x | (y ^ z). 2011-02-20 13:23:43 +00:00
InstCombineCalls.cpp Teach instcombine about the rest of the SSE and SSE2 conversion 2011-01-10 07:19:37 +00:00
InstCombineCasts.cpp convert ConstantVector::get to use ArrayRef. 2011-02-15 00:14:00 +00:00
InstCombineCompares.cpp Add some transforms of the kind X-Y>X -> 0>Y which are valid when there is no 2011-02-18 16:25:37 +00:00
InstCombineLoadStoreAlloca.cpp Spelling fix: consequtive -> consecutive. 2011-02-15 09:23:02 +00:00
InstCombineMulDivRem.cpp Enhance a bunch of transformations in instcombine to start generating 2011-02-10 05:36:31 +00:00
InstCombinePHI.cpp have instcombine preserve nsw/nuw/exact when sinking 2011-02-17 23:01:49 +00:00
InstCombineSelect.cpp Fold select + select where both selects are on the same condition. 2011-01-28 03:28:10 +00:00
InstCombineShifts.cpp Enhance a bunch of transformations in instcombine to start generating 2011-02-10 05:36:31 +00:00
InstCombineSimplifyDemanded.cpp teach SimplifyDemandedBits that exact shifts demand the bits they 2011-02-10 05:09:34 +00:00
InstCombineVectorOps.cpp PR9218: SimplifyDemandedVectorElts can return a non-null value that is not 2011-02-19 22:42:40 +00:00
InstCombineWorklist.h I got tired of VISIBILITY_HIDDEN colliding with the gcc enum. Rename it 2010-05-11 20:16:09 +00:00
InstructionCombining.cpp Do not forget DebugLoc! 2011-02-15 02:02:30 +00:00
Makefile make -fno-rtti the default unless a directory builds with REQUIRES_RTTI. 2010-01-24 20:43:08 +00:00