summaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
AgeCommit message (Expand)Author
2025-06-19[InstCombine] Optimize sub(sext(add(x,y)),sext(add(x,z))). (#144174)Slava Zakharin
2024-11-08[InstCombine] Drop nsw in negation of select (#112893)Yingwei Zheng
2024-11-03[InstCombine] Remove unused includes (NFC) (#114709)Kazu Hirata
2024-08-17[InstCombine] Avoid infinite loop when negating phi nodes (#104581)Yingwei Zheng
2024-08-11[NFC] Eliminate top-level "using namespace" from some headers. (#102751)Rahul Joshi
2024-07-10[InstCombine] Fold negation of calls to `ucmp/scmp` by swapping its operands ...Poseydon42
2024-06-18[InstCombine] Avoid use of ConstantExpr::getShl()Nikita Popov
2024-04-24[InstCombine] Fix miscompile in negation of select (#89698)Nikita Popov
2024-04-18[IR][PatternMatch] Only accept poison in getSplatValue() (#89159)Nikita Popov
2024-03-26[LLVM] Remove nuw neg (#86295)Yingwei Zheng
2024-02-14[InstSimplify][InstCombine] Remove unnecessary `m_c_*` matchers. (#81712)Yingwei Zheng
2023-12-10[Transforms] Remove unused forward declarations (NFC)Kazu Hirata
2023-12-09[Transforms] Remove unnecessary includes (NFC)Kazu Hirata
2023-12-05[InstCombine] Use disjoint flag instead of haveNoCommonBitsSet()Nikita Popov
2023-11-19[InstCombine] Don't transform `sub X, ~Y` -> `add X, -Y` unless `Y` is actual...Noah Goldstein
2023-10-22[llvm] Stop including llvm/ADT/iterator_range.h (NFC)Kazu Hirata
2023-10-10[ValueTracking] Use SimplifyQuery in haveNoCommonBitsSet() (NFC)Nikita Popov
2023-09-14[InstCombine] Propagate nsw flag when negatingNikita Popov
2022-12-14Don't include Optional.hKazu Hirata
2022-12-13[Transforms/InstCombine] llvm::Optional => std::optionalFangrui Song
2022-12-06[ADT] Don't including None.h (NFC)Kazu Hirata
2022-12-02[Transforms] Use std::nullopt instead of None (NFC)Kazu Hirata
2022-09-21[InstCombine] don't canonicalize shl+sub to mul+addSanjay Patel
2022-08-27[InstCombine] fold signbit splat pattern that uses negateSanjay Patel
2022-08-08[llvm] LLVM_FALLTHROUGH => [[fallthrough]]. NFCFangrui Song
2022-08-07[llvm] LLVM_NODISCARD => [[nodiscard]]. NFCFangrui Song
2022-02-15[InstCombine] Fold sub(Y,and(lshr(X,C),1)) --> add(ashr(shl(X,(BW-1)-C),BW-1)...Simon Pilgrim
2021-11-23[llvm][NFC] Inclusive language: Reword replace uses of sanity in llvm/lib/Tra...Zarko Todorovski
2021-10-28[InstCombine] allow Negator to fold multi-use select with constant armsSanjay Patel
2021-02-08[Transforms] Use range-based for loops (NFC)Kazu Hirata
2021-01-06[Constant] Add containsPoisonElementJuneyoung Lee
2020-12-24[IR][InstCombine] Add m_ImmConstant(), that matches on non-ConstantExpr const...Roman Lebedev
2020-11-03[InstCombine] Negator: - (C - %x) --> %x - C (PR47997)Roman Lebedev
2020-10-07InstCombine: Negator: don't rely on complexity sorting already being performe...Roman Lebedev
2020-08-23[InstCombine] Negator: freeze is freely negatible if it's operand is negatibleRoman Lebedev
2020-08-06[NFC][InstCombine] Negator: add a comment about negating exact arithmentic shiftRoman Lebedev
2020-08-05[InstCombine] Negator: -(cond ? x : -x) --> cond ? -x : xRoman Lebedev
2020-08-05[NFC][InstCombine] Negator: include all the needed headers, IWYURoman Lebedev
2020-08-05[InstCombine] Negator: 0 - (X + Y) --> (-X) - Y iff a single operand negatedRoman Lebedev
2020-08-05Recommit "[InstCombine] Negator: -(X << C) --> X * (-1 << C)"Roman Lebedev
2020-08-05Revert "[InstCombine] Negator: -(X << C) --> X * (-1 << C)"Roman Lebedev
2020-08-05[InstCombine] Negator: -(X << C) --> X * (-1 << C)Roman Lebedev
2020-07-22[InstCombine] Move target-specific inst combiningSebastian Neubauer
2020-06-17[InstCombine] Negator: while there, add detection for cycles during negationRoman Lebedev
2020-06-17[InstCombine] Negator: cache negation results (PR46362)Roman Lebedev
2020-06-17[NFC][InstCombine] Negator: add thin negate() wrapped before visit()Roman Lebedev
2020-06-17[NFC][InstCombine] Negator: do not include unneeded "llvm/IR/DerivedTypes.h" ...Roman Lebedev
2020-05-22[NFC] InstCombineNegator: use auto where type is obvious from the castRoman Lebedev
2020-05-20[InstCombine] `insertelement` is negatible if both sources are negatibleRoman Lebedev
2020-05-20[InstCombine] Negator: `extractelement` is negatible if src is negatibleRoman Lebedev