summaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
AgeCommit message (Expand)Author
2025-09-06[SelectionDAG][ARM] Propagate fast math flags in visitBRCOND (#156647)paperchalice
2025-09-04[DAGCombine] Propagate nuw when evaluating sub with narrower types (#156710)Yingwei Zheng
2025-08-27[DAGCombiner] Avoid double deletion when replacing multiple frozen/unfrozen u...Yingwei Zheng
2025-08-25[DAGCombiner] Preserve nuw when converting mul to shl. Use nuw in srl+shl com...Craig Topper
2025-08-25Reland "[NVPTX] Legalize aext-load to zext-load to expose more DAG combines" ...Alex MacLean
2025-08-23[DAG] Constant fold ISD::FSHL/FSHR nodes (#154480)XChy
2025-08-22Revert "[NVPTX] Legalize aext-load to zext-load to expose more DAG combines (...Joseph Huber
2025-08-22[SelectionDAG] Remove `UnsafeFPMath` in `visitFP_ROUND` (#154768)paperchalice
2025-08-22[DAGCombiner] Remove most `UnsafeFPMath` references (#146295)paperchalice
2025-08-21[NVPTX] Legalize aext-load to zext-load to expose more DAG combines (#154251)Alex MacLean
2025-08-21[DAGCombiner] Fold umax/umin operations with vscale operands (#154461)Jim Lin
2025-08-20DAG: Add assert to getNode for EXTRACT_SUBVECTOR indexes (#154099)Matt Arsenault
2025-08-19[DAG] visitTRUNCATE - merge the trunc(abd) and trunc(avg) handling which are ...Simon Pilgrim
2025-08-18[DAG] Fold trunc(avg(x,y)) for avgceil/floor u/s nodes if they have sufficien...黃國庭
2025-08-18[DAG] visitTRUNCATE - early out from computeKnownBits/ComputeNumSignBits fail...Simon Pilgrim
2025-08-18[DAG] visitTRUNCATE - test abd legality early to avoid unnecessary computeKno...Simon Pilgrim
2025-08-15[X86] select-smin-smax.ll - add i128 testsSimon Pilgrim
2025-08-14[DAGCombine] Fix an incorrect folding of extract_subvector (#153709)Min-Yih Hsu
2025-08-08[DAG] Fold trunc(abdu(x,y)) and trunc(abds(x,y)) if they have sufficient lead...woruyu
2025-08-08[AArch64][SVE] Fix hang in VECTOR_HISTOGRAM DAG combine (#152539)Benjamin Maxwell
2025-08-06[DAGCombiner] Avoid repeated calls to WideVT.getScalarSizeInBits() in DAGComb...Craig Topper
2025-08-05[DAG] Remove Depth=1 hack from isGuaranteedNotToBeUndefOrPoison checks (#152127)Simon Pilgrim
2025-08-05[DAG] visitFREEZE - replace multiple frozen/unfrozen uses of an SDValue with ...Simon Pilgrim
2025-08-04[DAG] combineVSelectWithAllOnesOrZeros - missing freeze (#150388)woruyu
2025-08-04[DAG] getMinMaxOpcodeForFP - split if-else chain. NFC. (#151938)Simon Pilgrim
2025-08-04[DAG] Combine `store + vselect` to `masked_store` (#145176)Abhishek Kaushik
2025-08-01[SelectionDAG] Move sign pattern check from AArch64 and ARM to general Select...AZero13
2025-08-01[LLVM][DAGCombiner] fold (shl (X * vscale(C0)), C1) -> (X * vscale(C0 << C1))...Paul Walker
2025-08-01Add m_SelectCCLike matcher to match SELECT_CC or SELECT with SETCC (#149646)黃國庭
2025-08-01[DAGCombiner] Add combine for vector interleave of splats (#151110)David Sherwood
2025-07-30[DAG] Fold (setcc ((x | x >> c0 | ...) & mask)) sequences (#146054)Pierre van Houtryve
2025-07-29[DAG] Remove AssertZext if the input is masked (#146052)Pierre van Houtryve
2025-07-29[IR][SDAG] Remove lifetime size handling from SDAG (#150944)Nikita Popov
2025-07-22[SelectionDAG] Pass SDNodeFlags through getNode instead of setFlags. (#149852)Craig Topper
2025-07-22[DAG] visitFREEZE - limit freezing of multiple operands (#149797)Simon Pilgrim
2025-07-22[CodeGen] Remove handling for lifetime.start/end on non-alloca (#149838)Nikita Popov
2025-07-18[DAG] visitFREEZE - remove unused HadMaybePoisonOperands check. NFC. (#149517)Simon Pilgrim
2025-07-18[DAGCombiner] Fold [us]itofp of truncate (#149391)Alex MacLean
2025-07-18[LLVM][CodeGen][SVE] List MVTs that are desirable for extending loads. (#149153)Paul Walker
2025-07-17[DAGCombiner] Fold vector subtraction if above threshold to `umin` (#148834)Piotr Fusik
2025-07-15[DAGCombiner][AArch64] Prevent SimplifyVCastOp from creating illegal scalar t...Craig Topper
2025-07-15[LLVM][DAGCombiner] Fix size calculations in calculateByteProvider. (#148425)Paul Walker
2025-07-14[DAGCombiner] Pass SDNodeFlags to getNode instead of modifying nodes. (#148744)Craig Topper
2025-07-14[DAGCombiner] Pass SDNodeFlags to getSelect instead of modifying the node ret...Craig Topper
2025-07-11[DAGCombine] Change isBuildVectorAll* -> isConstantSplatVectorAll* for Vselec...jjasmine
2025-07-10[DAG] Handle truncated splat in isBoolConstant (#145473)David Green
2025-07-08[DAG] Fold insert_subvector (splat X), (splat X), N2 - > splat X (#147380)Philip Reames
2025-07-08[DAG] combineVSelectWithAllOnesOrZeros - fold select Cond, 0, x -> and not(Co...woruyu
2025-07-07[DAG] SDPatternMatch m_Zero/m_One/m_AllOnes have inconsistent undef h… (#14...woruyu
2025-07-07[DAG] Replace DAGCombiner::ConstantFoldBITCASTofBUILD_VECTOR with SelectionDA...Simon Pilgrim