summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
Commit message (Expand)AuthorAgeFilesLines
* [InstCombine] try to pull 'not' of select into compare operandsSanjay Patel2020-01-071-0/+17
* [InstCombine] conditional sign-extend of high-bit-extract: 'or' pattern.Roman Lebedev2019-10-201-0/+4
* [InstCombine] foldUnsignedUnderflowCheck(): one last pattern with 'sub' (PR43...Roman Lebedev2019-09-251-0/+10
* [InstCombine] Fold (A - B) u>=/u< A --> B u>/u<= A iff B != 0Roman Lebedev2019-09-251-15/+0
* [InstCombine] (a+b) < a && (a+b) != 0 -> (0-b) < a iff a/b != 0 (PR43259)Roman Lebedev2019-09-241-4/+23
* [InstCombine] (a+b) <= a && (a+b) != 0 -> (0-b) < a (PR43259)Roman Lebedev2019-09-241-2/+21
* [InstCombine] Fold a shifty implementation of clamp-to-allones.Huihui Zhang2019-09-241-0/+15
* [InstCombine] Fold a shifty implementation of clamp-to-zero.Huihui Zhang2019-09-241-0/+14
* [InstCombine] foldOrOfICmps(): Acquire SimplifyQuery with set CxtIRoman Lebedev2019-09-231-2/+4
* [InstCombine] foldAndOfICmps(): Acquire SimplifyQuery with set CxtIRoman Lebedev2019-09-231-2/+4
* [InstCombine] foldUnsignedUnderflowCheck(): s/Subtracted/ZeroCmpOp/Roman Lebedev2019-09-231-7/+7
* [InstCombine] Simplify @llvm.usub.with.overflow+non-zero check (PR43251)Roman Lebedev2019-09-191-0/+21
* [InstCombine] foldUnsignedUnderflowCheck(): handle last few cases (PR43251)Roman Lebedev2019-09-181-0/+52
* [InstCombine][NFC] Rename IsFreeToInvert() -> isFreeToInvert() for consistencyRoman Lebedev2019-08-131-12/+12
* [InstCombine] foldXorOfICmps(): don't give up on non-single-use ICmp's if all...Roman Lebedev2019-08-131-9/+34
* [InstCombine] Teach foldOrOfICmps to allow icmp eq MIN_INT/MAX to be part of ...Craig Topper2019-07-241-8/+40
* [InstCombine] Update comment I missed in r366649. NFCCraig Topper2019-07-211-1/+1
* [InstCombine] Remove insertRangeTest code that handles the equality case.Craig Topper2019-07-211-4/+2
* [InstCombine] Don't use AddOne/SubOne to see if two APInts are 1 apart. Use A...Craig Topper2019-07-211-5/+9
* Fix parameter name comments using clang-tidy. NFC.Rui Ueyama2019-07-161-1/+1
* [InstCombine] squash is-not-power-of-2 using ctpopSanjay Patel2019-06-241-5/+18
* [InstCombine] squash is-power-of-2 that uses ctpopSanjay Patel2019-06-231-0/+23
* [InstCombine] try harder to form rotate (funnel shift) (PR20750)Sanjay Patel2019-05-131-0/+7
* [InstCombine] Don't transform ((C1 OP zext(X)) & C2) -> zext((C1 OP X) & C2) ...Craig Topper2019-03-211-1/+5
* [InstCombine] fold logic-of-nan-fcmps (PR41069)Sanjay Patel2019-03-191-0/+52
* [InstCombine] Fix matchRotate bug when one operand is a ConstantExpr shiftSanjay Patel2019-02-111-3/+7
* Update the file headers across all of the LLVM projects in the monorepoChandler Carruth2019-01-191-4/+3
* [InstCombine] canonicalize another raw IR rotate pattern to funnel shiftSanjay Patel2019-01-081-0/+54
* [CmpInstAnalysis] fix function signature for ICmp code to predicate; NFCSanjay Patel2018-12-041-9/+9
* [CmpInstAnalysis] fix formatting; NFCSanjay Patel2018-12-031-5/+5
* [InstCombine] fix formatting for matchBSwap(); NFCSanjay Patel2018-11-141-6/+5
* [InstCombine] try harder to form select from logic ops (2nd try)Sanjay Patel2018-10-241-30/+42
* revert rL344609: [InstCombine] try harder to form select from logic opsSanjay Patel2018-10-161-38/+29
* [InstCombine] make sure type is integer before calling ComputeNumSignBitsSanjay Patel2018-10-161-1/+2
* [InstCombine] try harder to form select from logic opsSanjay Patel2018-10-161-29/+37
* [InstCombine] name change: foldShuffledBinop -> foldVectorBinop; NFCSanjay Patel2018-10-031-3/+3
* [InstCombine] Fold (xor (min/max X, Y), -1) -> (max/min ~X, ~Y) when X and Y ...Craig Topper2018-09-131-0/+11
* [InstCombine] Fold (min/max ~X, Y) -> ~(max/min X, ~Y) when Y is freely inver...Craig Topper2018-09-071-5/+11
* [InstCombine] add xor+not foldsSanjay Patel2018-09-061-0/+16
* [InstCombine] fix xor-or-xor fold to check uses and handle commutesSanjay Patel2018-09-041-32/+21
* [InstCombine] make ((X & C) ^ C) form consistent for vectorsSanjay Patel2018-09-041-4/+2
* [InstCombine] simplify code for xor folds; NFCISanjay Patel2018-09-041-40/+23
* [InstCombine] simplify xor/not folds; NFCISanjay Patel2018-09-031-22/+16
* [InstCombine] allow add+not --> sub for arbitrary vector constants.Sanjay Patel2018-09-031-5/+4
* [InstCombine] allow not+sub fold for arbitrary vector constantsSanjay Patel2018-09-021-8/+4
* [InstCombine] simplify code for 'or' foldSanjay Patel2018-09-011-28/+13
* [InstCombine] Pull simple checks above a more complicated one. NFCICraig Topper2018-08-211-4/+2
* [InstCombine] Fix IC trying to create a xor of pointer types.Amara Emerson2018-08-151-1/+2
* [InstCombine] Re-land: Optimize redundant 'signed truncation check pattern'.Roman Lebedev2018-08-131-0/+127
* Revert "[InstCombine] Optimize redundant 'signed truncation check pattern'."Roman Lebedev2018-08-131-128/+0
OpenPOWER on IntegriCloud