summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
Commit message (Expand)AuthorAgeFilesLines
* [InstCombine] move constant check into foldBinOpIntoSelectOrPhi; NFCISanjay Patel2018-02-281-1/+1
* [InstCombine] Check for out of range ashr values using APInt before calling g...Simon Pilgrim2018-01-091-3/+5
* [InstCombine] Check for out of range shift values using APInt before calling ...Simon Pilgrim2018-01-031-4/+4
* Recommit r317510 "[InstCombine] Pull shifts through a select plus binop with ...Craig Topper2017-11-071-27/+82
* Revert r317510 "[InstCombine] Pull shifts through a select plus binop with co...Hans Wennborg2017-11-061-82/+27
* [InstCombine] Pull shifts through a select plus binop with constantCraig Topper2017-11-061-27/+82
* [InstCombine] Added support for (X >>s C) << C --> X & (-1 << C)Amjad Aboud2017-08-151-2/+2
* [InstCombine] sink sext after ashrSanjay Patel2017-08-151-0/+9
* [InstCombine] Support pulling left shifts through a subtract with constant LHSCraig Topper2017-08-081-0/+14
* [InstCombine] Teach the code that pulls logical operators through constant sh...Craig Topper2017-08-051-3/+5
* [InstCombine] Fold single-use variable into assert.Benjamin Kramer2017-08-041-2/+2
* [InstCombine] narrow lshr with constantSanjay Patel2017-08-041-0/+9
* [InstCombine] Make InstCombine's IRBuilder be passed by reference everywhereCraig Topper2017-07-071-30/+29
* [ValueTracking][InstCombine] Use m_Shr instead m_CombineOr(m_LShr, m_AShr). NFCCraig Topper2017-06-241-2/+1
* [InstCombine] lshr (sext iM X to iN), N-M --> zext (ashr X, min(N-M, M-1)) to iNSanjay Patel2017-06-121-4/+10
* [InstCombine] Pass a proper context instruction to all of the calls into Inst...Craig Topper2017-06-091-4/+7
* [InstCombine] fold lshr (sext X), C1 --> zext (lshr X, C2)Sanjay Patel2017-06-071-0/+19
* [InstCombine] Pass the DominatorTree, AssumptionCache, and context instructio...Craig Topper2017-05-261-1/+2
* InstCombine: Use the new SimplifyQuery versions of Simplify*. Use AssumptionC...Daniel Berlin2017-04-261-3/+3
* [APInt] Rename getSignBit to getSignMaskCraig Topper2017-04-201-1/+1
* [APInt] Use lshrInPlace to replace lshr where possibleCraig Topper2017-04-181-1/+1
* [InstCombine] allow (X * C2) << C1 --> X * (C2 << C1) for vectorsSanjay Patel2017-02-091-13/+12
* [InstCombine] move folds for shift-shift pairs; NFCISanjay Patel2017-02-011-48/+34
* [InstCombine] enable (X <<nsw C1) >>s C2 --> X <<nsw (C1 - C2) for vectors wi...Sanjay Patel2017-01-301-54/+19
* [InstCombine] enable more lshr(shl X, C1), C2 folds for vectors with splat co...Sanjay Patel2017-01-301-23/+17
* [InstCombine] enable (X >>?exact C1) << C2 --> X >>?exact (C1-C2) for vectors...Sanjay Patel2017-01-301-24/+22
* [InstCombine] use auto with obvious type; NFCSanjay Patel2017-01-301-3/+3
* [InstCombine] enable (X <<nsw C1) >>s C2 --> X <<nsw (C1-C2) for vectors with...Sanjay Patel2017-01-301-20/+16
* [InstCombine] fixed to propagate 'exact' on lshrSanjay Patel2017-01-301-1/+1
* [InstCombine] enable lshr(shl X, C1), C2 folds for vectors with splat constantsSanjay Patel2017-01-301-25/+25
* [InstCombine] enable (X >>?,exact C1) << C2 --> X << (C2 - C1) for vectors wi...Sanjay Patel2017-01-291-17/+17
* [InstCombine] fold (X >>u C) << C --> X & (-1 << C)Sanjay Patel2017-01-261-18/+17
* [InstCombine] use m_APInt to allow (X << C) >>u C --> X & (-1 >>u C) with spl...Sanjay Patel2017-01-261-16/+24
* [InstCombine] use m_APInt to allow ashr folds for vectors with splat constantsSanjay Patel2017-01-211-21/+28
* [InstCombine] reduce indent; NFCISanjay Patel2017-01-171-133/+131
* [InstCombine] use m_APInt instead of faking itSanjay Patel2017-01-161-20/+14
* [InstCombine] fix names in canEvaluateShiftedShift(); NFCSanjay Patel2017-01-161-27/+26
* [InstCombine] use m_APInt to allow shift-shift folds for vectors with splat c...Sanjay Patel2017-01-161-4/+5
* [InstCombine] refactor shift-of-shift folds; NFCISanjay Patel2017-01-161-83/+66
* [InstCombine] fix formatting; NFCSanjay Patel2017-01-151-24/+22
* [InstCombine] use m_APInt to allow ashr folds for vectors with splat constantsSanjay Patel2017-01-151-3/+4
* [InstCombine] clean up visitAshr(); NFCISanjay Patel2017-01-141-20/+9
* [InstCombine] use m_APInt to allow lshr folds for vectors with splat constantsSanjay Patel2017-01-131-17/+14
* [InstCombine] use 'match' and other clean-up; NFCISanjay Patel2017-01-131-17/+8
* [InstCombine] use m_APInt to allow shl folds for vectors with splat constantsSanjay Patel2017-01-131-3/+5
* [InstCombine] use Op0/Op1 local variables more consistently with shifts; NFCSanjay Patel2017-01-131-22/+16
* [InstCombine] add a wrapper for a common pair of transforms; NFCISanjay Patel2017-01-101-7/+2
* [InstCombine] Move casts around shift operationsDavid Majnemer2017-01-041-0/+19
* Revert @llvm.assume with operator bundles (r289755-r289757)Daniel Jasper2016-12-191-3/+3
* Remove the AssumptionCacheHal Finkel2016-12-151-3/+3
OpenPOWER on IntegriCloud