summaryrefslogtreecommitdiff
path: root/llvm/lib/Analysis/InstructionSimplify.cpp
AgeCommit message (Expand)Author
2025-01-07[InstSimplify] Use multi-op replacement when simplify `select` (#121708)goldsteinn
2025-01-06[InstSimplify] Simplify both operands of select before comparing (#121753)Nikita Popov
2024-12-19[InstCombine] Fold `A == MIN_INT ? B != MIN_INT : A < B` to `A < B` (#120177)Veera
2024-12-17[InstSimplify] Treat float binop with identity as refining (#120098)Nikita Popov
2024-12-13PatternMatch: migrate to CmpPredicate (#118534)Ramkumar Ramachandra
2024-12-09[InstSimplify] Remove foldSelectWithBinaryOp (#118913)Yihang Liu
2024-12-03IR: introduce struct with CmpInst::Predicate and samesign (#116867)Ramkumar Ramachandra
2024-12-02[InstSimplify] Generalize simplification of icmps with monotonic operands (#6...Nikita Popov
2024-11-19[InstSimplify] Generalize `simplifyAndOrOfFCmps` to handle fabs (#116590)Yingwei Zheng
2024-11-15InstSimplify: support floating-point equivalences (#115152)Ramkumar Ramachandra
2024-11-14[InstSimplify] Correctly handle comparison with zero-size allocs (#115728)Nikita Popov
2024-11-07[InstSimplify] Fix incorrect poison propagation when folding phi (#96631)Nikita Popov
2024-11-01[InstSimplify][InstCombine][ConstantFold] Move vector div/rem by zero fold to...Yingwei Zheng
2024-10-14ValueTracking: introduce llvm::isNotCrossLaneOperation (#112011)Ramkumar Ramachandra
2024-09-25[CmpInstAnalysis] Return decomposed bit test as struct (NFC) (#109819)Nikita Popov
2024-08-18[InstSimplify] Simplify `uadd.sat(X, Y) u>= X + Y` and `usub.sat(X, Y) u<= X,...Yingwei Zheng
2024-08-17[NFC] Cleanup in ADT and Analysis headers. (#104484)Daniil Fukalov
2024-08-07[InstSimplify] Fold (insertelement Splat(C), C, X) -> Splat(C) (#102315)Benjamin Kramer
2024-07-29[PatternMatch] Use `m_SpecificCmp` matchers. NFC. (#100878)Yingwei Zheng
2024-07-16[InstSimplify] Fix simplifyAndOrWithICmpEq with undef refinement (#98898)Nikita Popov
2024-07-15[InstSimplify] Fold ptrtoint(ptradd(P,X-ptrtoint(P))) to X (#98649)Nikita Popov
2024-07-10[InstSimplify] Only handle canonical forms in `simplifyAndOrOfFCmps`. NFC. (#...Yingwei Zheng
2024-07-09[InstSimplify] fold uno/ord comparison if fpclass is always NaN (#97763)Alex MacLean
2024-07-01[InstSimplify] Add simplification for `({u,s}rem (mul {nuw,nsw} X, C1), C0)`Noah Goldstein
2024-06-28[IR] Add getDataLayout() helpers to Function and GlobalValue (#96919)Nikita Popov
2024-06-27[IR] Add getDataLayout() helpers to BasicBlock and Instruction (#96902)Nikita Popov
2024-06-25[InstSimplify] Fold all poison phi to poison instead of undefNikita Popov
2024-06-24[InstSimplify] Use poison instead of undef for unreachable instNikita Popov
2024-06-17[InstSimplify] Implement simple folds for `ucmp`/`scmp` intrinsics (#95601)Poseydon42
2024-06-17[Transforms] Replace incorrect uses of m_Deferred with m_Specific (#95719)AtariDreams
2024-06-13Reapply [ConstantFold] Drop gep of gep fold entirely (#95126)Nikita Popov
2024-06-12Revert "[ConstantFold] Drop gep of gep fold entirely (#95126)"Nikita Popov
2024-06-12[ConstantFold] Drop gep of gep fold entirely (#95126)Nikita Popov
2024-06-04[InstSimplify] Accept GEPNoWrapFlags instead of only InBounds flagNikita Popov
2024-05-21[InstSimplify] Avoid use of ConstantExpr::getICmp() (NFC)Nikita Popov
2024-05-21InstSimplify: strip bad TODO (NFC) (#92754)Ramkumar Ramachandra
2024-05-08[InstSimplify] Do not simplify freeze in `simplifyWithOpReplaced` (#91215)Yingwei Zheng
2024-04-29Move several vector intrinsics out of experimental namespace (#88748)Maciej Gabka
2024-04-23[SimplifyQuery] Avoid PatternMatch.h include (NFC)Nikita Popov
2024-04-18[IR][PatternMatch] Only accept poison in getSplatValue() (#89159)Nikita Popov
2024-04-18[IR] Drop poison-generating return attributes when necessary (#89138)Andreas Jonson
2024-04-17[PatternMatch] Do not accept undef elements in m_AllOnes() and friends (#88217)Nikita Popov
2024-04-16[ValueTracking] Restore isKnownNonZero parameter order. (#88873)Harald van Dijk
2024-04-12[NFC][ValueTracking] Fix Wunused-variableJordan Rupprecht
2024-04-12[ValueTracking] Convert `isKnownNonZero` to use SimplifyQuery (#85863)Yingwei Zheng
2024-04-12[NFC] Replace m_Sub(m_Zero(), X) with m_Neg(X) (#88461)AtariDreams
2024-04-11[InstSimplify] Make sure the simplified value doesn't generate poison in thre...Yingwei Zheng
2024-03-23[LLVM] Use `std::move` for APInt. NFC. (#86257)Yingwei Zheng
2024-03-20[ValueTracking] Handle range attributes (#85143)Andreas Jonson
2024-03-18[InstSimply] Simplify `(fmul -x, +/-0)` -> `-/+0`Noah Goldstein