summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
Commit message (Expand)AuthorAgeFilesLines
* Remove \brief commands from doxygen comments.Adrian Prantl2018-05-011-1/+1
* [InstCombine] Adjusting bswap pattern matching to hold for And/Shift mixed caseOmer Paparo Bivas2018-05-011-1/+12
* [InstCombine] Unfold masked merge with constant maskRoman Lebedev2018-04-301-1/+15
* [InstCombine] Canonicalize variable mask in masked mergeRoman Lebedev2018-04-281-0/+33
* [PatternMatch] Stabilize the matching order of commutative matchersRoman Lebedev2018-04-271-16/+10
* [PatternMatch] allow undef elements when matching a vector zeroSanjay Patel2018-04-221-1/+0
* [InstCombine] Simplify 'xor' to 'or' if no common bits are set.Roman Lebedev2018-04-151-0/+4
* Eliminate a bitwise 'not' op of 'not' min/max by inverting the min/max.Artur Gainullin2018-04-111-0/+30
* [PatternMatch] allow undef elements when matching vector FP +0.0Sanjay Patel2018-03-251-2/+2
* [InstCombine] add folds for xor-of-icmp signbit tests (PR36682)Sanjay Patel2018-03-221-0/+28
* Fix a couple of layering violations in TransformsDavid Blaikie2018-03-211-1/+1
* Revert r328119 "[InstCombine] add folds for xor-of-icmp signbit tests (PR36682)"Reid Kleckner2018-03-211-30/+0
* [InstCombine] add folds for xor-of-icmp signbit tests (PR36682)Sanjay Patel2018-03-211-0/+30
* Simplify more cases of logical ops of masked icmps.Hiroshi Yamauchi2018-03-131-17/+199
* [InstCombine] Replace calls to getNumUses with hasNUses or hasNUsesOrMoreCraig Topper2018-03-121-3/+3
* [InstCombine] move constant check into foldBinOpIntoSelectOrPhi; NFCISanjay Patel2018-02-281-9/+6
* [InstCombine] Add constant vector support for ~(C >> Y) --> ~C >> YSimon Pilgrim2018-02-101-5/+7
* [InstCombine] narrow masked zexted binops (PR35792)Sanjay Patel2018-01-251-0/+70
* [InstCombine] canonicalize shifty abs(): ashr+add+xor --> cmp+neg+selSanjay Patel2017-12-161-0/+20
* [ValueTracking, InstCombine] canonicalize fcmp ord/uno with non-NAN ops to nu...Sanjay Patel2017-09-051-15/+6
* [InstCombine] replace unnecessary fcmp fold with assertSanjay Patel2017-09-021-6/+3
* [InstCombine] combine foldAndOfFCmps and foldOrOfFcmps; NFCISanjay Patel2017-09-021-75/+30
* [InstCombine] fix misnamed locals and use them to reduce code; NFCISanjay Patel2017-09-021-34/+34
* [InstCombine] remove unnecessary code; NFCSanjay Patel2017-09-021-3/+0
* [InstCombine] move related functions next to each other; NFCSanjay Patel2017-09-021-51/+51
* [InstCombine] Don't require the compare types to be the same in getMaskedType...Craig Topper2017-09-011-3/+2
* [InstCombine] When converting decomposeBitTestICmp's APInt return to Constant...Craig Topper2017-09-011-2/+2
* [InstCombine] Remove check for sext of vector icmp from shouldOptimizeCastCraig Topper2017-08-221-6/+0
* [InstCombine] Move the checks for pointer types in getMaskedTypeForICmpPair e...Craig Topper2017-08-211-12/+6
* Recommit r310869, "[InstSimplify][InstCombine] Modify the interface of decomp...Craig Topper2017-08-141-3/+15
* Revert r310869 "[InstSimplify][InstCombine] Modify the interface of decompose...Craig Topper2017-08-141-15/+3
* [InstSimplify][InstCombine] Modify the interface of decomposeBitTestICmp and ...Craig Topper2017-08-141-3/+15
* [InstCombine] Simplify and inline FoldOrWithConstants/FoldXorWithConstantsCraig Topper2017-08-141-85/+19
* [InstCombine] Make (X|C1)^C2 -> X^(C1^C2) iff X&~C1 == 0 work for splat vectorsCraig Topper2017-08-101-23/+18
* [InstCombine] Fix a crash in getSelectCondition if we happen to have two inve...Craig Topper2017-08-101-2/+3
* [InstCombine] Use regular dyn_cast instead of a matcher for a simple case. NFCCraig Topper2017-08-091-2/+2
* Removing an unused variable that was missed with the refactoring in r310272; ...Aaron Ballman2017-08-071-3/+0
* [InstCombine] Support (X | C1) & C2 --> (X & C2^(C1&C2)) | (C1&C2) for vector...Craig Topper2017-08-071-15/+16
* [InstCombine] Remove shift handling from OptAndOp.Craig Topper2017-08-061-58/+0
* [InstCombine] Support (X ^ C1) & C2 --> (X & C2) ^ (C1&C2) for vector splats.Craig Topper2017-08-061-8/+10
* [InstCombine] Support '(C - X) ^ signmask -> (C + signmask - X)' and '(X + C)...Craig Topper2017-08-061-16/+11
* [InstCombine] Support ~(c-X) --> X+(-c-1) and ~(X-c) --> (-c-1)-X for splat v...Craig Topper2017-08-061-14/+25
* [InstCombine] Fold (C - X) ^ signmask -> (C + signmask - X).Craig Topper2017-08-051-6/+11
* [InstCombine] Remove the (not (sext)) case from foldBoolSextMaskToSelect and ...Craig Topper2017-08-041-27/+8
* [InstCombine] Remove explicit code for folding (xor(zext(cmp)), 1) and (xor(s...Craig Topper2017-08-021-15/+0
* [InstCombine] Support sext in foldLogicCastConstantCraig Topper2017-08-021-4/+14
* [InstCombine] allow mask hoisting transform for vector typesSanjay Patel2017-07-311-33/+27
* [InstCombine] Move (0 - x) & 1 --> x & 1 to SimplifyDemandedUseBits.Craig Topper2017-07-161-5/+1
* [InstCombine] Improve the expansion in SimplifyUsingDistributiveLaws to handl...Craig Topper2017-07-151-18/+0
* [InstCombine] improve (1 << x) & 1 --> zext(x == 0) foldingSanjay Patel2017-07-151-15/+13
OpenPOWER on IntegriCloud