summaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
AgeCommit message (Expand)Author
2025-09-08[InstCombine][VectorCombine][NFC] Unify uses of lossless inverse cast (#156597)Hongyu Chen
2025-06-19[InstCombine] Optimize sub(sext(add(x,y)),sext(add(x,z))). (#144174)Slava Zakharin
2025-06-18[InstCombine] Fold `tan(x) * cos(x) => sin(x)` (#136319)amordo
2025-06-03[ValueTracking] Make Depth last default arg (NFC) (#142384)Ramkumar Ramachandra
2025-02-13[InstCombine] Fold mul (shr exact (X, N)), 2^N + 1 -> add (X , shr exact (X, ...AZero13
2025-01-28[NFC][DebugInfo] Use iterators for insertion at some final callsitesJeremy Morse
2025-01-17[InstCombine] Fixup commit 7253c6f (#123315)Sushant Gokhale
2025-01-17Revert "Revert "[InstCombine] Transform high latency, dependent FSQRT/FDIV in...Sushant Gokhale
2025-01-16Revert "[InstCombine] Transform high latency, dependent FSQRT/FDIV into FMUL"...Sushant Gokhale
2025-01-16[InstCombine] Transform high latency, dependent FSQRT/FDIV into FMUL (#87474)Sushant Gokhale
2025-01-11[InstCombine] Fold `X udiv Y` to `X lshr cttz(Y)` if Y is a power of 2 (#121386)Veera
2025-01-10[InstCombine] Make `takeLog2` visible in all of InstCombine; NFCNoah Goldstein
2025-01-06[IRBuilder] Refactor FMF interface (#121657)Yingwei Zheng
2025-01-05[InstCombine] Drop NSW when converting `shl X, BW - 1` back into mul (#121633)Yingwei Zheng
2024-11-01[InstSimplify][InstCombine][ConstantFold] Move vector div/rem by zero fold to...Yingwei Zheng
2024-10-28[InstCombine] Teach takeLog2 about right shifts, truncation and bitwise-andDavid Majnemer
2024-07-13[InstCombine] Check for undef first before freeze (#96769)AtariDreams
2024-06-28[InstCombine] Fold `(mul (div exact X, C0), C1)` -> `(div exact X, C0/C1)`Noah Goldstein
2024-06-27[IR] Add getDataLayout() helpers to BasicBlock and Instruction (#96902)Nikita Popov
2024-06-22[InstCombine] (uitofp bool X) * Y --> X ? Y : 0 (#96216)Alex MacLean
2024-06-18[InstCombine] Avoid use of ConstantExpr::getShl()Nikita Popov
2024-04-29[InstCombine] Infer nuw on mul nsw with non-negative operands (#90170)Nikita Popov
2024-04-21[InstCombine] Optimize powi(X, Y)/ (X * Z) with Ofastzhongyunde 00443407
2024-04-21[InstCombine] Add check to avoid dependent optimization order, NFCzhongyunde 00443407
2024-04-19[InstCombine] Remove some uses with replaceUndefsWith() (#89190)Nikita Popov
2024-04-18[IR][PatternMatch] Only accept poison in getSplatValue() (#89159)Nikita Popov
2024-04-16Update foldFMulReassoc to respect absent fast-math flags (#88589)Andy Kaylor
2024-04-16[InstCombine] Remove mul of SPF abs fold (#88675)Nikita Popov
2024-04-12[NFC] Replace m_Sub(m_Zero(), X) with m_Neg(X) (#88461)AtariDreams
2024-03-27[InstCombine] add restrict reassoc for the powi(X,Y) / Xzhongyunde 00443407
2024-03-27[InstCombine] Refactor powi(X,Y) / X to call foldPowiReassoc, NFCzhongyunde 00443407
2024-03-26[LLVM] Remove nuw neg (#86295)Yingwei Zheng
2024-03-21[InstCombine] integrate `N{U,S}WAddLike` into existing foldsNoah Goldstein
2024-03-21[InstCombine] Fold `fmul X, -0.0` into `copysign(0.0, -X)` (#85772)Yingwei Zheng
2024-03-15[InstCombine] Fold `mul (sext bool X), Y` into `select X, -Y, 0` (#84792)SahilPatidar
2024-03-14[InstCombine] Add restrict reassoc for the operands of fmulzhongyunde 00443407
2024-03-14[InstCombine] create a helper function foldPowiReassoc, NFCzhongyunde 00443407
2024-03-14[InstCombine] optimize powi(X,Y) * X with Ofastzhongyunde 00443407
2024-03-09check if operand is div in fold FDivSqrtDivisor (#81970)Zain Jaffal
2024-03-06[InstCombine] Add folds for `(fp_binop ({s|u}itofp x), ({s|u}itofp y))`Noah Goldstein
2024-02-12[InstCombine] Remove some uninteresting FIXMEs (NFC)Nikita Popov
2024-02-10Revert "[InstCombine] Optimise x / sqrt(y / z) with fast-math pattern. (#76737)"Martin Storsjö
2024-02-09[InstCombine] Optimise x / sqrt(y / z) with fast-math pattern. (#76737)Zain Jaffal
2024-02-07[InstCombine] Resolve TODO: nnan nsz X / -0.0 -> copysign(inf, X) (#79766)AtariDreams
2024-01-18[InstCombine] combine mul(abs(x),abs(y)) to abs(mul(x,y)) (#78395)Congcong Cai
2024-01-04[InstCombine] Refactor folding of commutative binops over select/phi/minmax (...Yingwei Zheng
2023-12-21[InstCombine] Simplifiy `(-x * y * -x)` into `(x * y * x)` (#72953)Z572
2023-12-13[InstCombine] simplify `(X * C0) / (X * C1)` into `C0 / C1`. (#73204)Z572
2023-12-07[PatternMatch] Add m_AddLike matcher (NFC)Nikita Popov
2023-12-05[InstCombine] Use disjoint flag in mul of or foldNikita Popov