summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
Commit message (Expand)AuthorAgeFilesLines
* [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
* [InstCombine] remove dead cases from icmp pair switches; NFCISanjay Patel2017-04-091-32/+0
* [InstCombine] Extend some OR combines to support vectors.Craig Topper2017-04-091-19/+23
* [InstCombine] Extend a canonicalization check to apply to vector constants too.Craig Topper2017-04-091-1/+2
* [InstCombine] Use the SubOne helper function to shorten some code. NFCCraig Topper2017-04-091-7/+4
* [InstCombine] rename variable for easier reading; NFCCraig Topper2017-04-091-9/+9
* [InstCombine] Handle more commuted cases of ((A & B) | ~A) -> (~A | B)Craig Topper2017-04-071-3/+4
* [InstCombine] Add more commuted patterns to support folding ((~A & B) | A) ->...Craig Topper2017-04-071-3/+4
* [InstCombine] Remove redundant combine from visitAndCraig Topper2017-04-061-90/+0
* [InstCombine] Fix a case where we weren't checking that an instruction had a ...Craig Topper2017-04-061-6/+9
* [InstCombine] fix formatting and variable names; NFCISanjay Patel2017-04-051-236/+252
* [InstCombine] Support folding and/or/xor with a constant vector RHS into sele...Craig Topper2017-04-041-3/+6
* [InstCombine] Remove canonicalization for (X & C1) | C2 --> (X | C2) & (C1|C2...Craig Topper2017-04-031-11/+0
* [DAGCombine][InstCombine] Fix inverted if condition in equivalent comments in...Craig Topper2017-04-031-1/+1
* Revert r299337 "[InstCombine] Remove redundant combine from visitAnd"Craig Topper2017-04-031-0/+87
* [InstCombine] fix formatting for foldLogOpOfMaskedICmps and related bits; NFCISanjay Patel2017-04-031-145/+158
* [InstCombine] Remove a And transform that should be handled by SimplifyDemand...Craig Topper2017-04-031-7/+0
* [InstCombine] Make InstCombiner::OptAndOp take a BinaryOperator instead of an...Craig Topper2017-04-021-3/+3
* [InstCombine] Remove redundant combine from visitAndCraig Topper2017-04-021-87/+0
* [APInt] Fix bugs in isShiftedMask to match behavior of the similar function i...Craig Topper2017-03-311-1/+1
* [InstCombine] Remove some code from visitAnd that dealt with trying to reduce...Craig Topper2017-03-231-12/+0
* [InstCombine] Fold ((C1 OP zext(X)) & C2) -> zext((C1 OP X) & C2)David Majnemer2017-01-171-15/+28
* [InstCombine] Fold ((C1-zext(X)) & C2) -> zext((C1-X) & C2)David Majnemer2017-01-171-0/+15
* [InstCombine] add a wrapper for a common pair of transforms; NFCISanjay Patel2017-01-101-22/+6
* Revert "[InstCombine] New opportunities for FoldAndOfICmp and FoldXorOfICmp"David Majnemer2016-12-211-97/+2
* [InstCombine] use commutative matcher for pattern with commutative operatorsSanjay Patel2016-12-191-3/+5
* Revert @llvm.assume with operator bundles (r289755-r289757)Daniel Jasper2016-12-191-9/+9
* [InstCombine] use commutative matchers for patterns with commutative operatorsSanjay Patel2016-12-181-20/+35
* [InstCombine] New opportunities for FoldAndOfICmp and FoldXorOfICmpEhsan Amiri2016-12-151-2/+97
* Remove the AssumptionCacheHal Finkel2016-12-151-9/+9
* add and use isBitwiseLogicOp() helper function; NFCISanjay Patel2016-11-221-15/+5
* [InstCombine] add helper function for folding {and,or,xor} (cast X), C ; NFCISanjay Patel2016-09-121-28/+41
* [InstCombine] change insertRangeTest() to use APInt instead of Constant; NFCISanjay Patel2016-08-311-14/+19
* [InstCombine] clean up InsertRangeTest; NFCISanjay Patel2016-08-311-35/+15
* InstCombine: Clean up some trailing whitespace. NFCJustin Bogner2016-08-051-2/+2
OpenPOWER on IntegriCloud