| Age | Commit message (Expand) | Author |
| 2025-10-10 | [NFC][InstCombine] Make use of `unknown` profile info clear in the API name (... | Mircea Trofin |
| 2025-09-29 | [InstCombine] Set !prof metadata on Selects identified by add.ll test (#158743) | Alan Zhao |
| 2025-06-03 | [ValueTracking] Make Depth last default arg (NFC) (#142384) | Ramkumar Ramachandra |
| 2025-04-29 | [InstCombine] Infer exact for lshr by cttz (#136696) | 黃國庭 |
| 2025-02-18 | [InstCombine] Fold shift+cttz with power of 2 operands (#127055) | Matthew Devereau |
| 2025-01-24 | [NFC][DebugInfo] Use iterator moveBefore at many call-sites (#123583) | Jeremy Morse |
| 2024-12-05 | [InstCombine] Prevent infinite loop with two shifts (#118806) | Maurice Heumann |
| 2024-09-06 | [InstCombine] Fold `[l|a]shr iN (X-1)&~X, N-1 -> [z|s]ext(X==0)` (#107259) | Yingwei Zheng |
| 2024-08-15 | [InstCombine] Fold `ucmp/scmp(x, y) >> N` to `zext/sext(x < y)` when N is one... | Volodymyr Vasylkun |
| 2024-06-27 | [PatternMatch] Use m_Not instead of m_c_Xor with m_AllOnes() (#96837) | AtariDreams |
| 2024-06-18 | [InstCombine] Avoid use of ConstantExpr::getShl() | Nikita Popov |
| 2024-06-17 | [InstCombine] simplify average of lsb (#95684) | c8ef |
| 2024-06-08 | [InstCombine] Propagate flags when folding consecutative shifts | Noah Goldstein |
| 2024-06-03 | Reland "[InstCombine] Fold (sub nuw X, (Y << nuw Z)) >>u exact Z --> (X >>u e... | AtariDreams |
| 2024-05-30 | [InstCombine] lshr (mul (X, 2^N + 1)), N -> X when X is half-width (#93677) | AtariDreams |
| 2024-05-29 | Reapply [InstCombine] lshr (mul (X, 2^N + 1)), N -> add (X, lshr(X, N)) (#92907) | AtariDreams |
| 2024-05-27 | Revert "[InstCombine] lshr (mul (X, 2^N + 1)), N -> add (X, lshr(X, N)) (#929... | Nikita Popov |
| 2024-05-27 | Revert "[InstCombine] Add reverse of ((X << nuw Z) sub nuw Y) >>u exact Z -->... | Nikita Popov |
| 2024-05-26 | [InstCombine] Add reverse of ((X << nuw Z) sub nuw Y) >>u exact Z --> X sub n... | AtariDreams |
| 2024-05-26 | [InstCombine] Propagate disjoint flags during shl-binop transform (#91333) | AtariDreams |
| 2024-05-26 | [InstCombine] lshr (mul (X, 2^N + 1)), N -> add (X, lshr(X, N)) (#92907) | AtariDreams |
| 2024-05-09 | [InstCombine] Fix comment from #88193 (NFC) (#91427) | AtariDreams |
| 2024-05-07 | [InstCombine] Fold ((X << nuw Z) binop nuw Y) >>u Z --> X binop nuw (Y >>u Z)... | AtariDreams |
| 2024-04-25 | [InstCombine] Remove redundant shift folds (NFCI) (#90016) | Nikita Popov |
| 2024-04-18 | [IR][PatternMatch] Only accept poison in getSplatValue() (#89159) | Nikita Popov |
| 2024-03-21 | [InstCombine] integrate `N{U,S}WAddLike` into existing folds | Noah Goldstein |
| 2024-02-13 | [InstCombine] Extend `(lshr/shl (shl/lshr -1, x), x)` -> `(lshr/shl -1, x)` f... | Noah Goldstein |
| 2024-01-26 | [InstCombine] Preserve nuw/nsw/exact flags when transforming (C shift (A add ... | Craig Topper |
| 2024-01-23 | [InstCombine] Remove one-use check if other logic operand is constant (#77973) | AtariDreams |
| 2023-12-04 | [InstCombine][InstSimplify] Pass `SimplifyQuery` to `computeKnownBits` direct... | Yingwei Zheng |
| 2023-11-20 | [InstCombine] Propagate NUW flags for `shl (lshr X, C1), C2 -> shl X, C2-C1` ... | Yingwei Zheng |
| 2023-11-18 | [InstCombine] Infer shift flags with unknown shamt (#72535) | Yingwei Zheng |
| 2023-11-17 | [InstCombine] Preserve NSW flags for `lshr (mul nuw X, C1), C2 -> mul nuw nsw... | Yingwei Zheng |
| 2023-11-16 | [InstCombine] Add exact flags for ext idiom `shr (shl X, Y), Y` (#72483) | Yingwei Zheng |
| 2023-11-16 | [InstCombine] Infer nsw flag for `(X <<nuw C1) >>u C --> X << (C1 - C)` (#72407) | Yingwei Zheng |
| 2023-11-13 | [InstCombine] Require ImmConstant in shift of shift fold | Nikita Popov |
| 2023-11-10 | [InstCombine] Require immediate constant in canEvaluateShifted() | Nikita Popov |
| 2023-11-10 | [InstCombine] Avoid uses of ConstantExpr::getLShr() | Nikita Popov |
| 2023-10-12 | [InstCombine] Improve logic for adding flags to shift instructions. | Noah Goldstein |
| 2023-09-29 | [InstCombine] Avoid use of ConstantExpr::getZExtOrBitcast() (NFC) | Nikita Popov |
| 2023-09-28 | [InstCombine] Avoid use of ConstantExpr::getZExt() (NFC) | Nikita Popov |
| 2023-09-11 | [NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine | Jeremy Morse |
| 2023-06-01 | [InstCombine] Remove old add in foldLShrOverflowBit() | Nikita Popov |
| 2023-03-06 | [InstCombine] Transform `(shift X,Or(Y,BitWidth-1))` -> `(shift X,BitWidth-1)` | Noah Goldstein |
| 2023-02-19 | Use APInt::count{l,r}_{zero,one} (NFC) | Kazu Hirata |
| 2023-02-19 | [InstCombine] canonicalize "extract lowest set bit" away from cttz intrinsic | Sanjay Patel |
| 2023-01-27 | Recommit "Reorder (shl (add/sub (shl x, C0), y), C1) -> (add/sub (shl x, C0 +... | Noah Goldstein |
| 2023-01-27 | Revert "Reorder (shl (add/sub (shl x, C0), y), C1) -> (add/sub (shl x, C0 + C... | Noah Goldstein |
| 2023-01-27 | Reorder (shl (add/sub (shl x, C0), y), C1) -> (add/sub (shl x, C0 + C1), (shl... | Noah Goldstein |
| 2023-01-18 | [InstCombine] simplify code for matching shift-logic-shift pattern; NFC | Sanjay Patel |