aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
AgeCommit message (Expand)AuthorFilesLines
2025-07-16[InstCombine] Optimize (select %x, op(%x), 0) to op(%x) for operations where ...Ryan Buchner1-8/+31
2025-06-13[InstCombine] Preserve NSW/NUW flags when folding const BOp with min/max (#14...Alex MacLean1-9/+27
2025-06-13[llvm][InstCombine] Fold select to cmp for weak and inverted inequalities (#1...Yash Solanki1-0/+22
2025-06-10[InstCombine] Fold max/min when incrementing/decrementing by 1 (#142466)Alex MacLean1-0/+59
2025-06-06[InstCombine] Allow min/max in constant BOp min/max folding (#142878)Alex MacLean1-14/+33
2025-06-04[InstCombine] Avoid infinite loop in `foldSelectValueEquivalence` (#142754)Yingwei Zheng1-1/+5
2025-06-03[ValueTracking] Make Depth last default arg (NFC) (#142384)Ramkumar Ramachandra1-9/+7
2025-05-31[InstCombine] Propagate FMF from select instead of fcmp (#141010)Yingwei Zheng1-2/+8
2025-05-30[InstCombine] Use `canIgnoreSignBitOfZero` in `spf->minmax` fold (#141914)Yingwei Zheng1-1/+4
2025-05-28[ValueTracking][InstCombine] Generalize ignoreSignBitOfZero/NaN to handle mor...Yingwei Zheng1-43/+7
2025-05-21[InstCombine] Enable more fabs fold when the user ignores sign bit of zero/Na...Yingwei Zheng1-2/+43
2025-04-28[InstCombine] Fix ninf propagation for fcmp+sel -> minmax (#136433)Yingwei Zheng1-2/+6
2025-04-26[InstCombine] Preserve signbit semantics of NaN with fold to fabs (#136648)Yingwei Zheng1-1/+8
2025-03-19[InstCombine] Reuse common code between foldSelectICmpAndBinOp and foldSelect...Andreas Jonson1-103/+81
2025-03-18[InstCombine] Support trunc to i1 in foldSelectICmpAnd (#127905)Andreas Jonson1-27/+38
2025-03-14[InstCombine] Use known bits to simplify mask in foldSelectICmpAnd (#128741)Julian Nagele1-5/+9
2025-02-24[InstCombine] Fold `X!=Y ? ctz(X^Y, true) : BW -> ctz(X^Y, false)` (#128483)Yingwei Zheng1-1/+3
2025-02-19[InstCombine] handle trunc to i1 in foldSelectICmpAndBinOp (#127390)Andreas Jonson1-27/+35
2025-02-19[InstCombine] avoid extra instructions in foldSelectICmpAnd (#127398)Andreas Jonson1-5/+9
2025-02-19[InstCombine] Propagate flags in `foldSelectICmpAndBinOp` (#127437)Yingwei Zheng1-1/+4
2025-02-05[InstCombine] Drop nowrap flags in `foldBitCeil` (#125817)Yingwei Zheng1-7/+12
2025-02-02[InstCombine] Extend `foldSelectInstWithICmpConst` to handle minmax (#125346)Yingwei Zheng1-12/+24
2025-02-01[InstCombine] Fix FMF propagation in `foldSelectWithFCmpToFabs` (#121580)Yingwei Zheng1-2/+9
2025-01-28Reland [InstCombine] Teach foldSelectOpOp about samesign (#124320)Ramkumar Ramachandra1-13/+23
2025-01-24Revert "[InstCombine] Teach foldSelectOpOp about samesign" (#124123)Alexander Kornienko1-4/+4
2025-01-14[InstCombine] Teach foldSelectOpOp about samesign (#122723)Ramkumar Ramachandra1-4/+4
2025-01-09[InstCombine] Remove foldSelectICmpEq() fold (#122098)Nikita Popov1-86/+0
2025-01-08[ValueTracking] Move `getFlippedStrictnessPredicateAndConstant` into ValueTra...Yingwei Zheng1-4/+2
2025-01-07[InstCombine] Handle commuted patterns in `foldSelectWithSRem` (#121896)Yingwei Zheng1-2/+2
2025-01-06[IRBuilder] Refactor FMF interface (#121657)Yingwei Zheng1-13/+8
2025-01-06[InstCombine] Drop noundef in `foldSelectCttzCtlz` (#121692)Yingwei Zheng1-1/+5
2025-01-02[InstCombine] Fix constant swap case of fcmp + fadd + sel xfrm (#119419)Rajat Bajpai1-18/+26
2024-12-19[InstCombine] Fold `A == MIN_INT ? B != MIN_INT : A < B` to `A < B` (#120177)Veera1-0/+44
2024-12-16[InstCombine] Recursively replace condition with constant in select arms (#12...Yingwei Zheng1-0/+6
2024-12-13PatternMatch: migrate to CmpPredicate (#118534)Ramkumar Ramachandra1-26/+28
2024-12-03[InstCombine][FP] Fix nnan preservation for transform fcmp + sel => fmax/fmin...Rajat Bajpai1-6/+16
2024-12-02[InstCombine] Consolidate another fold into select value equivalence (#117746)Nikita Popov1-12/+1
2024-12-02[InstCombine] Fold `X Pred C2 ? X BOp C1 : C2 BOp C1` to `min/max(X, C2) BOp ...Veera1-17/+61
2024-11-21[InstCombine] Convert logical and/or with `icmp samesign` into bitwise ops (#...Yingwei Zheng1-4/+37
2024-11-20[InstCombine] Drop range attributes in `foldBitCeil` (#116641)Yingwei Zheng1-2/+7
2024-11-20InstCombine: support floating-point equivalences (#114975)Ramkumar Ramachandra1-10/+11
2024-11-11[InstCombine] Transform (fcmp + fadd + sel) into (fcmp + sel + fadd) (#106492)Rajat Bajpai1-0/+57
2024-11-01[InstCombine] Use `m_NotForbidPoison` when folding `(X u< Y) ? -1 : (~X + Y) ...Yingwei Zheng1-1/+1
2024-11-01[Reland][InstCombine] Fix FMF propagation in `foldSelectIntoOp` (#114499)Yingwei Zheng1-3/+8
2024-10-31Revert "[InstCombine] Fix FMF propagation in `foldSelectIntoOp`" (#114458)gulfemsavrun1-2/+3
2024-10-31[InstCombine] Fix FMF propagation in `foldSelectIntoOp` (#114356)Yingwei Zheng1-3/+2
2024-10-17[InstCombine] Add shared helper for logical and bitwise and/or (NFC)Nikita Popov1-17/+3
2024-10-16InstCombine/Select: remove redundant code (NFC) (#112388)Ramkumar Ramachandra1-50/+0
2024-10-16[InstCombine] Drop `samesign` in InstCombine (#112480)Yingwei Zheng1-0/+1
2024-10-15[InstCombine] Extend fcmp+select folding to minnum/maxnum intrinsics (#112088)Alexey Bader1-2/+2