aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/KnownBits.cpp
AgeCommit message (Expand)AuthorFilesLines
10 days[KnownBits] Add setAllConflict to set all bits in Zero and One. NFC (#159815)Craig Topper1-6/+3
2025-08-28[KnownBits] Add operator<<=(unsigned) and operator>>=(unsigned). NFC (#155751)Craig Topper1-2/+1
2025-08-11[InstCombine] Add additional known bits info for self multiply (#151202)Macsen Casaus1-5/+13
2025-05-14[llvm] properly guard dump methods in Support lib classes (#139938)Andrew Rogers1-1/+4
2025-05-14Revert "[llvm] properly guard dump methods in Support lib classes" (#139927)Andrew Rogers1-4/+1
2025-05-14[llvm] properly guard dump methods in Support lib classes (#139804)Andrew Rogers1-1/+4
2024-11-05[KnownBits] Make `{s,u}{add,sub}_sat` optimal (#113096)goldsteinn1-65/+77
2024-10-01[KnownBits] Make `avg{Ceil,Floor}S` optimal (#110688)Jay Foad1-22/+17
2024-09-27KnownBits: refine srem for high-bits (#109121)Ramkumar Ramachandra1-3/+7
2024-06-13[KnownBits] avgCompute - don't create on-the-fly Carry. NFC.Simon Pilgrim1-2/+2
2024-06-07[KnownBits] Remove `hasConflict()` assertions (#94568)c8ef1-28/+5
2024-05-19[llvm] Add KnownBits implementations for avgFloor and avgCeil (#86445)Nhat Nguyen1-0/+31
2024-04-18[KnownBits] Make abdu and abds optimal (#89081)Jay Foad1-27/+39
2024-03-12[Support] Add KnownBits::abds signed absolute difference and rename absdiff -...Simon Pilgrim1-2/+21
2024-03-11[KnownBits] Implement knownbits `lshr`/`ashr` with exact flagNoah Goldstein1-2/+26
2024-03-11[KnownBits] Add API support for `exact` in `lshr`/`ashr`; NFCNoah Goldstein1-2/+2
2024-03-05[KnownBits] Make `nuw` and `nsw` support in `computeForAddSub` optimalNoah Goldstein1-23/+78
2024-03-05[KnownBits] Add API for `nuw` flag in `computeForAddSub`; NFCNoah Goldstein1-6/+10
2024-03-01[KnownBits] Add KnownBits::absdiff to compute the absolute difference of 2 un...Simon Pilgrim1-0/+16
2023-10-18[Support] Add KnownBits::computeForSubBorrow (#67788)Christian Kissig1-0/+12
2023-06-06[KnownBits] Factor out and improve the lowbit computation for {u,s}divNoah Goldstein1-28/+38
2023-06-06[KnownBits] Return `0` for poison {s,u}div inputsNoah Goldstein1-0/+14
2023-06-06[KnownBits] Cleanup some misspelling / logic in {u,s}divNoah Goldstein1-31/+31
2023-06-01[ValueTracking] Directly use KnownBits shift functionsNikita Popov1-3/+11
2023-05-26[KnownBits] Partially synchronize shift implementations (NFC)Nikita Popov1-80/+44
2023-05-26[KnownBits] Add fast-path for shl with unknown shift amount (NFC)Nikita Popov1-27/+41
2023-05-25[KnownBits] Simplify shl. NFCI.Jay Foad1-47/+33
2023-05-25[KnownBits] Add support for nuw/nsw on shiftsNikita Popov1-13/+50
2023-05-24[KnownBits] Reduce number of overflow checks for uadd/sub_sat (NFCI)Nikita Popov1-15/+11
2023-05-24[KnownBits] Use early return for unknown LHS for shifts (NFC)Nikita Popov1-94/+91
2023-05-24[KnownBits] Check for conflict-freedom in exhaustive testsNikita Popov1-0/+2
2023-05-23[KnownBits] Add implementations for saturating add/sub functionsNoah Goldstein1-0/+165
2023-05-23[KnownBits] Improve implementation of `KnownBits::abs`Noah Goldstein1-8/+47
2023-05-23[KnownBits] Return zero instead of unknown for always poison shiftsNikita Popov1-6/+12
2023-05-16[KnownBits] Improve `KnownBits::udiv`Noah Goldstein1-9/+21
2023-05-16[KnownBits] Add implementation for `KnownBits::sdiv`Noah Goldstein1-0/+68
2023-05-16[KnownBits] Handle shifts over wide typesNikita Popov1-6/+6
2023-05-16[KnownBits] Define and use intersectWith and unionWithJay Foad1-4/+4
2023-05-16[KnownBits] Make shl/lshr/ashr implementations optimalNikita Popov1-24/+32
2023-05-15[KnownBitsTest] Align with ConstantRange test infrastructure (NFC)Nikita Popov1-1/+12
2023-05-07[KnownBits] Improve `KnownBits::rem(X, Y)` in cases where we can deduce low-b...Noah Goldstein1-12/+19
2023-02-19Use APInt::count{l,r}_{zero,one} (NFC)Kazu Hirata1-4/+4
2023-02-18[KnownBits] Add blsi and blsmskJay Foad1-0/+21
2022-12-16[Support] llvm::Optional => std::optionalFangrui Song1-22/+22
2022-12-02[llvm] Use std::nullopt instead of None (NFC)Kazu Hirata1-6/+6
2022-06-20[llvm] Don't use Optional::getValue (NFC)Kazu Hirata1-3/+3
2022-05-17[KnownBits] Add operator==Nikita Popov1-3/+2
2022-02-06[KnownBits] Add support for X*X self-multiplication (update)Simon Pilgrim1-4/+5
2021-12-20[Support] improve known bits analysis for leading zeros of multiplySanjay Patel1-11/+12
2021-12-08[Support] improve known bits analysis for multiply by power-of-2 (1 set bit)Sanjay Patel1-1/+8