summaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
AgeCommit message (Expand)Author
2024-06-21Revert "Intrinsic: introduce minimumnum and maximumnum (#93841)"Nikita Popov
2024-06-21Intrinsic: introduce minimumnum and maximumnum (#93841)YunQiang Su
2024-06-17[DAG] visitAVG - avoid duplication in the avg(ext(x), ext(y)) -> ext(avg(x, y...Simon Pilgrim
2024-06-17[LLVM][DAGCombiner] Extend coverage for insert_subv(undef, extract_subv(A, 0)...Paul Walker
2024-06-15[DAG] Fold Y = sra (X, size(X)-1); mul (or (Y, 1), X) -> (abs X)Simon Pilgrim
2024-06-14[DAG] fold `avgs(sext(x), sext(y))` -> `sext(avgs(x, y))` (#95365)c8ef
2024-06-12[DAG] visitAVG - use X/Y SDValue args to match the fold comment. NFC.Simon Pilgrim
2024-06-12[DAG] Add legalization handling for AVGCEIL/AVGFLOOR nodes (#92096)Simon Pilgrim
2024-06-12[DAG] fold avgu(zext(x), zext(y)) -> zext(avgu(x, y)) (#95134)c8ef
2024-06-09[DAG] Fold fdiv X, c2 -> fmul X, 1/c2 without AllowReciprocal if exact (#93882)David Green
2024-06-08[DAGCombine] Fix miscompilation caused by PR94008 (#94850)Yingwei Zheng
2024-06-08[SDISel][Combine] Constant fold FP16_TO_FP (#94790)Quentin Colombet
2024-06-07[CodeGen][SDAG] Remove CombinedNodes SmallPtrSet (#94609)aengelke
2024-06-07[DAG] Always allow folding XOR patterns to ABS pre-legalization (#94601)Simon Pilgrim
2024-06-06[DAG] visitSUB - update the ABS matching code to use SDPatternMatch and hasOp...Simon Pilgrim
2024-06-05[CodeGen][SDAG] Remove Combiner WorklistMap (#92900)aengelke
2024-06-01[DAGCombine] Fix type mismatch in `(shl X, cttz(Y)) -> (mul (Y & -Y), X)` (#...Yingwei Zheng
2024-05-31[DAGCombiner] Move CanReassociate down to first use. NFC.Jay Foad
2024-05-31[DAGCombiner][VP] Add DAGCombine for VP_MUL (#80105)Jianjian Guan
2024-05-29[DAGCombine] Transform `shl X, cttz(Y)` to `mul (Y & -Y), X` if cttz is unsup...Yingwei Zheng
2024-05-28DAG: Use flags in isLegalToCombineMinNumMaxNum (#93555)Matt Arsenault
2024-05-27[SelectionDAG][X86] Fix the assertion failure in Release build after #91747 (...Shengchen Kan
2024-05-26[X86][CodeGen] Support lowering for CCMP/CTEST (#91747)Shengchen Kan
2024-05-24[DAG] visitFunnelShift - pull out repeated SDLoc.Simon Pilgrim
2024-05-19[DAG] visitABD - rewrite "(abs x, 0)" folds to use SDPatternMatchSimon Pilgrim
2024-05-19[DAG] visitAVG - rewrite "fold (avgfloor x, 0) -> x >> 1" to use SDPatternMatchSimon Pilgrim
2024-05-18[DAG] Use copysign in frem power-2 fold. (#91751)David Green
2024-05-15[DAGCombiner] Mark vectors as not AllAddOne/AllSubOne on type mismatch (#92195)Patrick O'Neill
2024-05-10Fix MSVC "result of 32-bit shift implicitly converted to 64 bits" warning. NFC.Simon Pilgrim
2024-05-10[X86] scalarizeExtractedBinop - reuse existing SDLoc. NFC.Simon Pilgrim
2024-05-10[DAG] Lower frem of power-2 using div/trunc/mul+sub (#91148)David Green
2024-05-10[DAG][AArch64] Handle vscale addressing modes in reassociationCanBreakAddress...David Green
2024-05-08[DAG] Fold add(mul(add(A, CA), CM), CB) -> add(mul(A, CM), CM*CA+CB) (#90860)David Green
2024-05-07[DAGCombiner] Be more careful about looking through extends and truncates in ...Craig Topper
2024-05-06[DAG] Fold bitreverse(shl/srl(bitreverse(x),y)) -> srl/shl(x,y) (#89897)Simon Pilgrim
2024-05-04[DAG] Fold freeze(shuffle(x,y,m)) -> shuffle(freeze(x),freeze(y),m) (#90952)Simon Pilgrim
2024-05-03[DAGCombiner] In mergeTruncStore, make sure we aren't storing shifted in bits...Craig Topper
2024-04-30[DAG] Pull out repeated SDLoc() from SHL/SRL/SRA combines. NFC.Simon Pilgrim
2024-04-30[DAGCombiner] Fix mayAlias not accounting for scalable MMOs with offsets (#90...Luke Lau
2024-04-29Revert "Revert "[SelectionDAG] Handle more opcodes in canCreateUndefOrPoison ...Bjorn Pettersson
2024-04-29Revert "[SelectionDAG] Handle more opcodes in canCreateUndefOrPoison (#84921)...David Spickett
2024-04-29[SelectionDAG] Handle more opcodes in canCreateUndefOrPoison (#84921)Björn Pettersson
2024-04-26DAG: Simplify demanded bits for truncating atomic_store (#90113)Matt Arsenault
2024-04-26[DAG] visitORCommutative - fold build_pair(not(x),not(y)) -> not(build_pair(x...Simon Pilgrim
2024-04-26[DAGCombiner] Do not always fold FREEZE over BUILD_VECTOR (#85932)Bjorn Pettersson
2024-04-25[DAG] visitORCommutative - pull out repeated SDLoc(). NFC.Simon Pilgrim
2024-04-23[DAGCombiner] Fix miscompile bug in combineShiftOfShiftedLogic (#89616)Björn Pettersson
2024-04-22[DAG] visitORCommutative - use sd_match to reduce the need for commutative op...Simon Pilgrim
2024-04-22[DAG] visitOR/visitORLike - merge repeated SDLoc calls.Simon Pilgrim
2024-04-19[SelectionDAG] Require UADDO_CARRY carryin and carryout to have the same type...Craig Topper