summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
Commit message (Expand)AuthorAgeFilesLines
...
* [InstCombine] reduce code duplication; NFCSanjay Patel2018-02-161-31/+19
* [InstCombine] use m_OneUse to reduce code; NFCSanjay Patel2018-02-151-2/+2
* [InstCombine] allow sin/cos transforms with 'reassoc'Sanjay Patel2018-02-151-2/+1
* [InstCombine] allow X / C -> X * (1.0/C) for vector splat FP constantsSanjay Patel2018-02-151-11/+9
* [InstCombine] clean up fold for X / C -> X * (1.0/C); NFCISanjay Patel2018-02-141-34/+27
* [InstCombine] simplify isFMulOrFDivWithConstant(); NFCISanjay Patel2018-02-141-15/+7
* [InstCombine] replace isa/cast with dyn_cast; NFCSanjay Patel2018-02-141-3/+2
* [InstCombine] refactor folds for mul with negated operands; NFCISanjay Patel2018-02-141-10/+14
* [InstCombine] (lshr X, 31) * Y --> (ashr X, 31) & YSanjay Patel2018-02-131-25/+13
* [InstCombine] (bool X) * Y --> X ? Y : 0Sanjay Patel2018-02-131-0/+9
* [InstCombine] Simplify getLogBase2 case for scalar/splats. NFCI.Simon Pilgrim2018-02-131-3/+2
* [InstCombine] X / (X * Y) --> 1.0 / YSanjay Patel2018-02-121-0/+10
* [InstCombine] various clean-ups for div transforms; NFCSanjay Patel2018-02-121-108/+94
* [InstCombine] various clean-ups for commonIDivTransforms; NFCSanjay Patel2018-02-121-16/+17
* [InstCombine] X / (X * Y) -> 1 / Y if the multiplication does not overflowSanjay Patel2018-02-111-0/+11
* [InstCombine] Add constant vector support for X udiv C, where C >= signbitSimon Pilgrim2018-02-091-8/+6
* [InstCombine] visitSRem - use m_Negative(APInt) helper. NFCI.Simon Pilgrim2018-02-081-1/+1
* [InstCombine] Add m_Negative pattern matchingSimon Pilgrim2018-02-081-2/+1
* [InstCombine] Fix issue with X udiv (POW2_C1 << N) for non-splat constant vec...Simon Pilgrim2018-02-081-4/+6
* [InstCombine] Fix issue with X udiv 2^C -> X >> C for non-splat constant vectorsSimon Pilgrim2018-02-081-3/+4
* Fix unused variable warning.Simon Pilgrim2018-02-081-1/+1
* [InstCombine] Improve mul(x, pow2) -> shl combine for vector constantsSimon Pilgrim2018-02-081-17/+21
* [InstCombine] (X << Y) / X -> 1 << YSanjay Patel2018-01-211-7/+12
* [InstCombine] Apply the fix from r322284 for sin / cos -> tan tooBenjamin Kramer2018-01-111-2/+3
* [InstCombine] For cos/sin -> tan copy attributes from cos instead of theBenjamin Kramer2018-01-111-2/+3
* [InstCombine] Missed optimization in math expression: sin(x) / cos(x) => tan(x)Dmitry Venikov2018-01-111-0/+35
* [InstCombine] Missed optimization in math expression: squashing sqrt functionsDmitry Venikov2018-01-021-0/+17
* [InstCombine] fix miscompile of frem with 0.0 operand (PR34870)Sanjay Patel2017-12-261-4/+0
* [IR] redefine 'UnsafeAlgebra' / 'reassoc' fast-math-flags and add 'trans' fas...Sanjay Patel2017-11-061-5/+6
* [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings;...Eugene Zelenko2017-10-241-24/+41
* [InstCombine] use correct type when propagating constant condition in simplif...Sanjay Patel2017-10-061-2/+3
* [InstCombine] rename SimplifyDivRemOfSelect to be clearer, add comments, simp...Sanjay Patel2017-10-061-19/+19
* [InstCombine] Add select simplificationsQuentin Colombet2017-09-201-0/+4
* [InstCombine] fix and enhance udiv/urem narrowingSanjay Patel2017-08-241-24/+41
* [IR] Add Type::isIntOrIntVectorTy(unsigned) similar to the existing isInteger...Craig Topper2017-07-091-3/+2
* [InstCombine] Make InstCombine's IRBuilder be passed by reference everywhereCraig Topper2017-07-071-45/+43
* [InstCombine] Propagate nsw flag when turning mul by pow2 into shift when the...Craig Topper2017-06-271-2/+2
* [InstCombine] Pass a proper context instruction to all of the calls into Inst...Craig Topper2017-06-091-8/+11
* [InstCombine][InstSimplify] Use APInt::isNullValue/isOneValue to reduce compi...Craig Topper2017-06-071-1/+1
* [InstCombine] Add an InstCombine specific wrapper around isKnownToBeAPowerOfT...Craig Topper2017-05-251-5/+3
* [InstCombine] Cleanup the interface for overflow checksCraig Topper2017-05-221-5/+6
* [ValueTracking] Replace all uses of ComputeSignBit with computeKnownBits.Craig Topper2017-05-151-5/+3
* [InstCombine] Merge duplicate functionality between InstCombine and ValueTrac...Craig Topper2017-05-151-8/+4
* InstCombine: Use the new SimplifyQuery versions of Simplify*. Use AssumptionC...Daniel Berlin2017-04-261-11/+8
* [APInt] Rename getSignBit to getSignMaskCraig Topper2017-04-201-2/+2
* [InstCombine] Simplify 1/X for vectors.Craig Topper2017-04-171-16/+15
* [InstCombine] Add support for vector srem->urem.Craig Topper2017-04-171-7/+5
* [InstCombine] Add support for turning vector sdiv into udiv.Craig Topper2017-04-171-18/+16
* [InstCombine] Support folding a subtract with a constant LHS into a phi nodeCraig Topper2017-04-141-3/+3
* [InstCombine] improve readability; NFCISanjay Patel2017-03-141-29/+23
OpenPOWER on IntegriCloud