aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/IR/ConstantRange.cpp
AgeCommit message (Expand)AuthorFilesLines
2023-11-06[ConstantRange] Handle `Intrinsic::cttz` (#67917)Yingwei Zheng1-0/+75
2023-11-06[ConstantRange] Handle `Intrinsic::ctpop` (#68310)Yingwei Zheng1-0/+49
2023-09-15[ConstantRange] Optimize smul nowrap with constant (NFC)Nikita Popov1-0/+4
2023-08-29[ConstantRange] Make shl() for negative LHS more preciseNikita Popov1-0/+7
2023-06-23[ConstantRange] Calculate precise range for multiply by -1Nikita Popov1-0/+14
2023-02-19Use APInt::getSignificantBits instead of APInt::getMinSignedBits (NFC)Kazu Hirata1-2/+2
2023-02-19Use APInt::count{l,r}_{zero,one} (NFC)Kazu Hirata1-11/+9
2023-02-17[ConstantRange] Handle `Intrinsic::ctlz`Antonio Frighetto1-0/+46
2023-01-09[ConstantRange] Fix single bit abs range (PR59887)Nikita Popov1-3/+3
2022-12-10[APInt] Convert GetMostSignificantDifferentBit to std::optionalKrzysztof Parzyszek1-1/+2
2022-12-06[ConstantRange] Fix nsw nowrap region for 1 bit integers (PR59301)Nikita Popov1-7/+3
2022-12-05[IR] llvm::Optional => std::optionalFangrui Song1-2/+2
2022-12-02[IR] Use std::nullopt instead of None (NFC)Kazu Hirata1-2/+2
2022-07-01[ConstantRange] Fix sdiv() with one bit values (PR56333)Nikita Popov1-1/+4
2022-05-20Recommit "[ConstantRange] Improve the implementation of binaryOr"Alexander Shaposhnikov1-8/+7
2022-05-20Revert "[ConstantRange] Improve the implementation of binaryOr"Douglas Yung1-7/+8
2022-05-19[ConstantRange] Improve the implementation of binaryOrAlexander Shaposhnikov1-8/+7
2022-05-19[APInt] Remove all uses of zextOrSelf, sextOrSelf and truncOrSelfJay Foad1-4/+12
2022-05-17[ConstantRange] Improve the implementation of binaryAndAlexander Shaposhnikov1-12/+8
2022-05-17[ConstantRange] Implement binaryXor() using known bitsNikita Popov1-2/+1
2022-05-16[ConstantRange] Add toKnownBits() methodNikita Popov1-0/+18
2021-11-07[ConstantRange] Add exact union/intersect (NFC)Nikita Popov1-0/+18
2021-11-07[ConstantRange] Support zero size in isSizeLargerThan()Nikita Popov1-2/+1
2021-11-06[ConstantRange] Add getEquivalentICmp() variant with offset (NFCI)Nikita Popov1-11/+14
2021-10-31[ConstantRange] Sign-flipping of signedness-invariant comparisonsRoman Lebedev1-0/+36
2021-10-27[ConstantRange] Optimize smul_sat() (NFC)Nikita Popov1-12/+7
2021-10-17[ConstantRange] Add fast signed multiplyNikita Popov1-0/+19
2021-10-15[ConstantRange] Compute precise shl range for single elementsNikita Popov1-12/+21
2021-10-04[APInt] Stop using soft-deprecated constructors and methods in llvm. NFC.Jay Foad1-6/+6
2021-09-09[APInt] Normalize naming on keep constructors / predicate methods.Chris Lattner1-24/+23
2021-06-30[ConstantRanges] Use APInt for constant case for urem/srem.Florian Hahn1-0/+18
2021-04-10[NFC][ConstantRange] Add 'icmp' helper methodRoman Lebedev1-0/+5
2021-04-10Revert "[NFC][ConstantRange] Add 'icmp' helper method"Roman Lebedev1-5/+0
2021-04-10[NFC][ConstantRange] Add 'icmp' helper methodRoman Lebedev1-0/+5
2021-02-20[ConstantRange] Handle wrapping ranges in min/max (PR48643)Nikita Popov1-4/+16
2021-02-20[ConstantRange] Handle wrapping range in binaryNot()Nikita Popov1-6/+0
2020-09-22[ConstantRange] Introduce getMinSignedBits() methodRoman Lebedev1-0/+8
2020-09-22[ConstantRange] Introduce getActiveBits() methodRoman Lebedev1-0/+7
2020-09-22[ConstantRange] binaryXor(): special-case binary complement case - the result...Roman Lebedev1-0/+16
2020-07-30[ConstantRange][CVP] Make use of abs poison flagNikita Popov1-3/+6
2020-07-30[ConstantRange] Support abs with poison flagNikita Popov1-3/+14
2020-07-30[ConstantRange][CVP] Compute min/max/abs intrinsic rangesNikita Popov1-0/+16
2020-07-29[ConstantRange] Add API for intrinsics (NFC)Nikita Popov1-0/+30
2020-04-01[ConstantRange] Use APInt::or/APInt::and for single elements.Florian Hahn1-0/+8
2020-03-24[ConstantRange] Add initial support for binaryXor.Florian Hahn1-0/+14
2019-12-27[ConstantRange] Respect destination bitwidth for cast results.Florian Hahn1-2/+2
2019-12-03[NFC][KnownBits] Add getMinValue() / getMaxValue() methodsRoman Lebedev1-2/+2
2019-11-08[NFC] ConstantRange::subWithNoWrap(): fixup commentRoman Lebedev1-1/+1
2019-11-08[ConstantRange] Add umul_sat()/smul_sat() methodsRoman Lebedev1-0/+35
2019-11-08[CR] ConstantRange::sshl_sat(): check sigdness of the min/max, not rangesRoman Lebedev1-2/+2