summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
Commit message (Expand)AuthorAgeFilesLines
* [InstCombine] Ensure nested shifts are in range (OSS-Fuzz #9880)Simon Pilgrim2018-11-061-5/+6
* [InstCombine] name change: foldShuffledBinop -> foldVectorBinop; NFCSanjay Patel2018-10-031-3/+3
* Remove trailing spaceFangrui Song2018-07-301-1/+1
* [InstCombine] simplify binops before trying other foldsSanjay Patel2018-06-211-11/+11
* [NFC][SCEV] Add tests related to bit masking (PR37793)Roman Lebedev2018-06-201-5/+2
* [InstCombine] Recommit: Fold (x << y) >> y -> x & (-1 >> y)Roman Lebedev2018-06-151-0/+9
* Revert rL334371 / D47980: "[InstCombine] Fold (x << y) >> y -> x & (-1 >> y)"Roman Lebedev2018-06-101-9/+0
* [InstCombine] Fold (x >> y) << y -> x & (-1 << y)Roman Lebedev2018-06-101-1/+10
* [InstCombine] Fold (x << y) >> y -> x & (-1 >> y)Roman Lebedev2018-06-101-0/+9
* [InstCombine] call simplify before trying vector foldsSanjay Patel2018-06-021-9/+9
* Rename DEBUG macro to LLVM_DEBUG.Nicola Zaghen2018-05-141-2/+4
* [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
OpenPOWER on IntegriCloud