summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Commit message (Expand)AuthorAgeFilesLines
* [InstCombine] foldShiftIntoShiftInAnotherHandOfAndInICmp(): fix miscompile (P...Roman Lebedev2020-02-271-1/+19
* [InstCombine] replace undef elements in vector constant when doing icmp folds...Sanjay Patel2020-01-031-0/+17
* Reland [DataLayout] Fix occurrences that size and range of pointers are assum...Nicola Zaghen2019-12-131-1/+1
* Temporarily Revert "[DataLayout] Fix occurrences that size and range of point...Nicola Zaghen2019-12-121-1/+1
* [DataLayout] Fix occurrences that size and range of pointers are assumed to b...Nicola Zaghen2019-12-121-1/+1
* [InstCombine] Optimize overflow check base on uadd.with.overflow resultNikita Popov2019-12-111-0/+33
* [InstCombine] Revert rL341831: relax one-use check in foldICmpAddConstant() (...Roman Lebedev2019-12-021-3/+3
* Revert "[InstructionCompares] Fixed null check after dereferencing warning. N...Dávid Bolvanský2019-11-031-1/+0
* [InstructionCompares] Fixed null check after dereferencing warning. NFCI.Dávid Bolvanský2019-11-031-0/+1
* [InstCombine] make icmp vector canonicalization safe for constant with undef ...Sanjay Patel2019-10-291-0/+12
* [InstCombine] Fold uadd.sat(a, b) == 0 and usub.sat(a, b) == 0Nikita Popov2019-10-201-0/+22
* [InstCombine] Shift amount reassociation in shifty sign bit test (PR43595)Roman Lebedev2019-10-201-10/+19
* [InstCombine] Move isSignBitCheck(), handle rest of the predicatesRoman Lebedev2019-10-071-28/+0
* [InstCombine] Fold 'icmp eq/ne (?trunc (lshr/ashr %x, bitwidth(x)-1)), 0' -> ...Roman Lebedev2019-10-041-0/+28
* [InstCombine] Don't assume CmpInst has been visited in getFlippedStrictnessPr...Bjorn Pettersson2019-09-261-9/+4
* [InstCombine] Fold (A - B) u>=/u< A --> B u>/u<= A iff B != 0Roman Lebedev2019-09-251-4/+13
* [InstCombine] allow icmp+binop folds before min/max bailout (PR43310)Sanjay Patel2019-09-221-3/+3
* [InstCombine] remove unneeded one-use checks for icmp foldSanjay Patel2019-09-161-4/+1
* [InstCombine] remove unneeded one-use checks for icmp foldSanjay Patel2019-09-161-4/+1
* [InstCombine] fix comments to match code; NFCSanjay Patel2019-09-161-25/+27
* [InstCombine] remove unneeded one-use checks for icmp foldSanjay Patel2019-09-151-3/+4
* [InstCombine] fold sign-bit compares of sremSanjay Patel2019-09-111-0/+42
* InstCombine: Fix crash on icmp of gep with addrspacecasted nullMatt Arsenault2019-09-051-2/+2
* [InstCombine] foldICmpBinOp(): consider inverted check in 'unsigned sub overf...Roman Lebedev2019-09-051-6/+7
* [InstCombine] foldICmpBinOp(): consider inverted check in 'unsigned add overf...Roman Lebedev2019-09-051-4/+4
* [InstCombine] Fold '((%x * %y) u/ %x) != %y' to '@llvm.umul.with.overflow' + ...Roman Lebedev2019-08-291-5/+28
* [InstCombine] Fold '(-1 u/ %x) u< %y' to '@llvm.umul.with.overflow' + overflo...Roman Lebedev2019-08-291-0/+47
* [InstCombine] Shift amount reassociation in bittest: trunc-of-lshr (PR42399)Roman Lebedev2019-08-291-14/+58
* Fix variable set but no used warning on NDEBUG builds. NFCI.Simon Pilgrim2019-08-291-2/+2
* [InstCombine] Disable recursion in foldGEPICmp for vector pointer GEPsCraig Topper2019-08-281-2/+4
* [InstCombine] Disable some portions of foldGEPICmp for GEPs that return a vec...Craig Topper2019-08-271-11/+26
* [InstCombine] icmp eq/ne (gep inbounds P, Idx..), null -> icmp eq/ne P, null ...Philip Reames2019-08-261-1/+6
* [InstCombine] matchThreeWayIntCompare(): commutativity awarenessRoman Lebedev2019-08-241-13/+42
* [InstCombine] Try to reuse constant from select in leading comparisonRoman Lebedev2019-08-241-12/+19
* Fix a bug in just submitted rL369789Philip Reames2019-08-231-1/+4
* [InstCombine] icmp eq/ne (gep inbounds P, Idx..), null -> icmp eq/ne P, nullPhilip Reames2019-08-231-0/+21
* [instcombine] icmp eq/ne (sub C, Y), C -> icmp eq/ne Y, 0Philip Reames2019-08-211-0/+5
* [InstCombine] narrow icmp with extended operands of different widthsSanjay Patel2019-08-211-6/+17
* [InstCombine] add helper function for icmp+zext/sext; NFCSanjay Patel2019-08-201-69/+75
* [InstCombine] make fold for icmp with sext more efficient; NFCSanjay Patel2019-08-201-13/+7
* [InstCombine] improve readability for icmp with cast folds; NFCSanjay Patel2019-08-201-46/+41
* [InstCombine] Cherry-pick NFC cleanups of foldShiftIntoShiftInAnotherHandOfAn...Roman Lebedev2019-08-181-5/+8
* [InstCombine] Shift amount reassociation in bittest: trunc-of-shl (PR42399)Roman Lebedev2019-08-161-19/+56
* [InstCombine] Refactor getFlippedStrictnessPredicateAndConstant() out of cano...Roman Lebedev2019-08-141-32/+47
* [InstCombine] foldShiftIntoShiftInAnotherHandOfAndInICmp(): avoid constantexp...Roman Lebedev2019-08-121-6/+5
* [InstCombine][NFC] Use SimplifyAddInst() instead of SimplifyBinOp(Instruction...Roman Lebedev2019-08-101-2/+2
* [InstCombine] Shift amount reassociation in bittest: relax one-use check when...Roman Lebedev2019-08-101-1/+11
* [InstCombine] Shift amount reassociation in bittest: drop pointless one-use r...Roman Lebedev2019-08-101-2/+2
* [InstCombine] Fold "x ?% y ==/!= 0" to "x & (y-1) ==/!= 0" iff y is power-of...Roman Lebedev2019-07-301-0/+24
* [PatternMatch] Generalize m_SpecificInt_ULT() to take ICmpInst::PredicateRoman Lebedev2019-07-101-1/+2
OpenPOWER on IntegriCloud