summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
Commit message (Expand)AuthorAgeFilesLines
* [InstCombine] In visitXor, use m_Not on the instruction itself instead of loo...Craig Topper2017-06-291-3/+2
* [InstCombine] Add one use checks to or/and->xnor foldingCraig Topper2017-06-221-6/+8
* [InstCombine] reverse bitcast + bitwise-logic canonicalization (PR33138)Sanjay Patel2017-06-221-16/+10
* [InstCombine] add peekThroughBitcast() helper; NFCSanjay Patel2017-06-221-6/+2
* [InstCombine] Cleanup using commutable matchers. Make a couple helper methods...Craig Topper2017-06-211-21/+19
* [InstCombine] fix code/test comments for r305792; NFCSanjay Patel2017-06-201-1/+1
* [InstCombine] try to canonicalize xor-of-icmps to and-of-icmpsSanjay Patel2017-06-201-0/+24
* [InstCombine] Cleanup some duplicated one use checksCraig Topper2017-06-191-10/+4
* [InstCombine] Fold (!iszero(A & K1) & !iszero(A & K2)) -> (A & (K1 | K2)) ==...Craig Topper2017-06-161-31/+58
* [InstCombine] Add two FIXMEs for bad single use checks. NFCCraig Topper2017-06-151-0/+4
* [InstCombine] Make the context instruction parameter of foldOrOfICmps a refer...Craig Topper2017-06-151-9/+9
* [InstCombine] Handle (iszero(A & K1) | iszero(A & K2)) -> (A & (K1 | K2)) != ...Craig Topper2017-06-151-20/+14
* [InstCombine] Pass a proper context instruction to all of the calls into Inst...Craig Topper2017-06-091-3/+3
* [InstCombine][InstSimplify] Use APInt::isNullValue/isOneValue to reduce compi...Craig Topper2017-06-071-10/+11
* [InstCombine] Add an InstCombine specific wrapper around isKnownToBeAPowerOfT...Craig Topper2017-05-251-8/+4
* [InstCombine] add helper to foldXorOfICmps(); NFCISanjay Patel2017-05-181-37/+42
* [ValueTracking] Replace all uses of ComputeSignBit with computeKnownBits.Craig Topper2017-05-151-3/+2
* [InstCombine] remove fold that swaps xor/or with constants; NFCISanjay Patel2017-05-101-12/+0
* [InstCombine] clean up matchDeMorgansLaws(); NFCISanjay Patel2017-05-091-32/+13
* [InstCombine] add folds for not-of-shift-rightSanjay Patel2017-05-081-15/+32
* [InstSimplify] use ConstantRange to simplify or-of-icmpsSanjay Patel2017-05-071-55/+2
* [InstCombine] don't use DeMorgan's Law on integer constants (2nd try)Sanjay Patel2017-05-021-18/+21
* revert r301923 : [InstCombine] don't use DeMorgan's Law on integer constantsSanjay Patel2017-05-021-21/+18
* [InstCombine] don't use DeMorgan's Law on integer constantsSanjay Patel2017-05-021-18/+21
* [InstCombine] check one-use before applying DeMorgan nor/nand foldsSanjay Patel2017-05-011-10/+14
* [InstCombine] fix matcher to bind to specific operand (PR32830)Sanjay Patel2017-04-271-1/+1
* InstCombine: Use the new SimplifyQuery versions of Simplify*. Use AssumptionC...Daniel Berlin2017-04-261-3/+3
* [InstCombine] Add missing commute handling to (A | B) & (B ^ (~A)) -> (A & B)Craig Topper2017-04-251-3/+8
* [InstCombine] Use commutable matchers to reduce some code. NFCCraig Topper2017-04-251-4/+2
* [InstSimplify] use ConstantRange to simplify more and-of-icmpsSanjay Patel2017-04-241-40/+0
* [InstSimplify] move (A & ~B) | (A ^ B) -> (A ^ B) from InstCombineSanjay Patel2017-04-241-13/+0
* [InstCombine] add/move folds for [not]-xorSanjay Patel2017-04-231-38/+67
* [InstCombine] add pattern matches for commuted variants of xor-to-xorSanjay Patel2017-04-231-34/+55
* [InstCombine] use 'match' to reduce code; NFCISanjay Patel2017-04-221-36/+31
* [APInt] Rename getSignBit to getSignMaskCraig Topper2017-04-201-2/+2
* [InstCombine] Matchers work with both ConstExpr and Instructions.Davide Italiano2017-04-171-2/+2
* [InstCombine] allow (X != C1 && X != C2) and similar patterns to match splat ...Sanjay Patel2017-04-151-19/+19
* [InstCombine] (X != C1 && X != C2) --> (X | (C1 ^ C2)) != C2Sanjay Patel2017-04-141-36/+65
* [InstCombine] fold X == 0 || X == -1 to one compare (PR32524)Sanjay Patel2017-04-131-1/+5
* [InstCombine] use similar ops for related folds; NFCISanjay Patel2017-04-131-10/+9
* [InstCombine] fix assert to not always be trueSanjay Patel2017-04-131-1/+1
* [InstCombine] morph an existing instruction instead of creating a new oneSanjay Patel2017-04-121-7/+6
* [InstCombine][IR] Add a commutable BinOp matcher. Use it to reduce some code....Craig Topper2017-04-121-2/+1
* revert r299851 - [InstCombine] fix matching of or-of-icmps constants (PR32524)Sanjay Patel2017-04-111-16/+12
* [InstCombine] improve variable names; NFCISanjay Patel2017-04-101-34/+34
* [InstCombine] fix matching of or-of-icmps constants (PR32524)Sanjay Patel2017-04-101-12/+16
* [InstCombine] use m_c_And and m_c_Xor to handle commuted versions of a transf...Craig Topper2017-04-101-2/+2
* [InstCombine] Remove unnecessary dyn_cast to BinaryOperator around some match...Craig Topper2017-04-101-31/+29
* [InstCombine] Make the (A|B)^B -> A & ~B transform code consistent with the v...Craig Topper2017-04-101-5/+5
* [InstCombine] Use m_OneUse to shorten some code. NFCCraig Topper2017-04-101-6/+3
OpenPOWER on IntegriCloud