summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
Commit message (Expand)AuthorAgeFilesLines
* [InstCombine] Fold Select with binary opDavid Bolvansky2018-07-301-0/+33
* [InstCombine] canonicalize abs patternChen Zheng2018-07-271-20/+50
* [InstCombine] add more SPFofSPF foldingChen Zheng2018-07-161-0/+5
* [InstCombine] Correct the cmp operand type used when canonicalizing abs/nabsJohn Brawn2018-06-051-1/+1
* [InstCombine] narrow select to match condition operands' sizeSanjay Patel2018-05-311-8/+11
* [InstCombine] choose 1 form of abs and nabs as canonicalSanjay Patel2018-05-201-0/+51
* [InstCombine] Qualify a select pattern based transform to restrct to only min...Craig Topper2018-05-181-1/+1
* [InstCombine] refine select-of-constants to bitwise opsSanjay Patel2018-05-031-57/+34
* [InstCombine] clean up foldSelectICmpAnd(); NFCSanjay Patel2018-04-251-46/+39
* [InstCombine]: foldSelectICmpAndAnd(): and is commutativeRoman Lebedev2018-04-131-24/+20
* [InstCombine] Get rid of select of bittest (PR36950 / PR17564)Roman Lebedev2018-04-071-0/+49
* [PatternMatch] allow undef elements when matching vector FP +0.0Sanjay Patel2018-03-251-4/+4
* [InstCombine] canonicalize fcmp+select to fabsSanjay Patel2018-03-191-1/+31
* [InstCombine] Replace calls to getNumUses with hasNUses or hasNUsesOrMoreCraig Topper2018-03-121-2/+2
* [InstCombine] simplify min/max canonicalization; NFCISanjay Patel2018-03-061-10/+5
* [ValueTracking] move helpers for SelectPatterns from InstCombine to ValueTrac...Sanjay Patel2018-03-061-51/+11
* [InstCombine] Don't fold select(C, Z, binop(select(C, X, Y), W)) -> select(C,...Craig Topper2018-02-141-2/+17
* [InstCombine] add unsigned saturation subtraction canonicalizationsSanjay Patel2018-02-051-1/+56
* [InstCombine] Make foldSelectOpOp able to handle two-operand getelementptrJohn Brawn2018-01-191-7/+19
* [InstCombine] fold min/max tree with common operand (PR35717)Sanjay Patel2018-01-081-0/+60
* [InstCombine] relax use constraint for min/max (~a, ~b) --> ~min/max(a, b)Sanjay Patel2018-01-061-2/+2
* [InstCombine] add folds for min(~a, b) --> ~max(a, b)Sanjay Patel2018-01-051-22/+12
* [InstCombine] Simplify binops that are only used by a select and are fed by a...Craig Topper2017-11-151-0/+40
* [InstCombine] Simplify selects that test cmpxchg instructionsMatthew Simpson2017-10-311-0/+76
* [Transforms] Fix some Clang-tidy modernize and Include What You Use warnings;...Eugene Zelenko2017-10-241-6/+26
* [InstCombine] Move foldSelectICmpAnd helper function earlier in the file to e...Craig Topper2017-09-051-105/+105
* [InstCombine] In foldSelectIntoOp, avoid creating a Constant before we know f...Craig Topper2017-09-051-17/+18
* [InstCombine][InstSimplify] Teach decomposeBitTestICmp to look through trunca...Craig Topper2017-09-011-1/+1
* [InstCombine] remove unnecessary vector select fold; NFCISanjay Patel2017-08-301-4/+0
* [InstCombine] Teach foldSelectICmpAndOr to handle vector splatsCraig Topper2017-08-291-6/+8
* [InstCombine] Teach select01 helper of foldSelectIntoOp to handle vector splatsCraig Topper2017-08-281-7/+6
* [InstCombine] Teach foldSelectICmpAnd to recognize a (icmp slt X, 0) and (icm...Craig Topper2017-08-211-19/+49
* [InstCombine] Make folding (X >s -1) ? C1 : C2 --> ((X >>s 31) & (C2 - C1)) +...Craig Topper2017-08-161-17/+22
* [InstCombine] Cast to BinaryOperator earlier in foldSelectIntoOp to simplify ...Craig Topper2017-08-081-14/+10
* [InstCombine] Support vector splats in foldSelectICmpAnd.Craig Topper2017-08-051-15/+23
* [InstCombine] In foldSelectICmpAnd, if we need to to truncate from the 'and' ...Craig Topper2017-08-051-8/+8
* [InstCombine] Use ConstantInt::getFalse to reduce some code. NFCCraig Topper2017-08-041-2/+1
* [InstCombine] Canonicalize clamp of float types to minmax in fast mode.Nikolai Bozhenov2017-08-041-7/+17
* [InstCombine] Move the call to foldSelectICmpAnd into foldSelectInstWithICmp....Craig Topper2017-08-041-80/+80
* [Value Tracking] Default argument to true and rename accordingly. NFC.Chad Rosier2017-08-011-2/+2
* Disable loop unswitching for some patterns containing equality comparison wit...Wei Mi2017-07-251-0/+16
* [IR] Add Type::isIntOrIntVectorTy(unsigned) similar to the existing isInteger...Craig Topper2017-07-091-2/+2
* [InstCombine] Speculatively implement a fix for what might be the root cause ...Craig Topper2017-07-091-1/+2
* [InstCombine] Make InstCombine's IRBuilder be passed by reference everywhereCraig Topper2017-07-071-70/+69
* [Constants] If we already have a ConstantInt*, prefer to use isZero/isOne/isM...Craig Topper2017-07-061-5/+5
* [InstCombine] Don't create extra ConstantInt objects in foldSelectICmpAnd. NFCICraig Topper2017-07-061-19/+17
* Revert of r306525: "Canonicalize clamp of float types to minmax"Nikolai Bozhenov2017-06-301-10/+3
* [InstCombine] Canonicalize clamp of float types to minmax in fast mode.Nikolai Bozhenov2017-06-281-3/+10
* [InstCombine] canonicalize icmp predicate feeding selectSanjay Patel2017-06-271-0/+17
* [InstCombine] Teach foldSelectICmpAndOr to recognize (select (icmp slt (trunc...Craig Topper2017-06-221-11/+38
OpenPOWER on IntegriCloud