aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
AgeCommit message (Expand)AuthorFilesLines
2018-04-16[InstCombine] simplify fneg+fadd folds; NFCSanjay Patel1-8/+7
2018-04-14[InstCombine] Enable Add/Sub simplifications with only 'reassoc' FMFWarren Ristow1-3/+4
2018-04-11[InstCombine] limit X - (cast(-Y) --> X + cast(Y) with hasOneUse()Sanjay Patel1-10/+10
2018-04-06[InstCombine] limit nsz: -(X - Y) --> Y - X to hasOneUse()Sanjay Patel1-12/+9
2018-04-05[InstCombine] FP: Z - (X - Y) --> Z + (Y - X)Sanjay Patel1-2/+11
2018-04-05[InstCombine] nsz: -(X - Y) --> Y - XSanjay Patel1-4/+11
2018-04-05[InstCombine] use pattern matchers for fsub --> fadd foldsSanjay Patel1-4/+9
2018-03-25[PatternMatch] allow undef elements when matching vector FP +0.0Sanjay Patel1-1/+1
2018-03-03[InstCombine] (~X) - (~Y) --> Y - XSanjay Patel1-0/+5
2018-02-28[InstCombine] move constant check into foldBinOpIntoSelectOrPhi; NFCISanjay Patel1-4/+3
2018-02-23[InstCombine] use FMF-copying functions to reduce code; NFCISanjay Patel1-28/+12
2017-12-06[InstCombine] canonicalize constant-minus-boolean to select-of-constantsSanjay Patel1-1/+6
2017-11-06[IR] redefine 'UnsafeAlgebra' / 'reassoc' fast-math-flags and add 'trans' fas...Sanjay Patel1-4/+4
2017-10-24[Transforms] Fix some Clang-tidy modernize and Include What You Use warnings;...Eugene Zelenko1-45/+51
2017-10-13[InstCombine] use m_Neg() to reduce code; NFCISanjay Patel1-13/+9
2017-10-13[InstCombine] move code to remove repeated constant check; NFCISanjay Patel1-8/+7
2017-10-13[InstCombine] recycle adds for better efficiencySanjay Patel1-26/+21
2017-10-13[InstCombine] use local var to reduce code duplication; NFCISanjay Patel1-16/+15
2017-10-13[InstCombine] add hasOneUse check to add-zext-add fold to prevent increasing ...Sanjay Patel1-4/+2
2017-10-13[InstCombine] use AddOne helper to reduce code; NFCSanjay Patel1-6/+3
2017-10-13[InstCombine] rearrange code to remove repeated constant check; NFCISanjay Patel1-7/+5
2017-10-13[InstCombine] allow zext(bool) + C --> select bool, C+1, C for vector typesSanjay Patel1-10/+15
2017-09-20[InstCombine] Add select simplificationsQuentin Colombet1-24/+7
2017-07-27[InstCombine] Simplify pointer difference subtractions (GEP-GEP) where GEPs h...Hiroshi Yamauchi1-4/+23
2017-07-26Fix a comment (test commit).Hiroshi Yamauchi1-1/+1
2017-07-09[IR] Add Type::isIntOrIntVectorTy(unsigned) similar to the existing isInteger...Craig Topper1-4/+4
2017-07-07[InstCombine] Make InstCombine's IRBuilder be passed by reference everywhereCraig Topper1-36/+34
2017-06-25[InstCombine] add (sext i1 X), 1 --> zext (not X)Sanjay Patel1-9/+18
2017-06-09[InstCombine] Pass a proper context instruction to all of the calls into Inst...Craig Topper1-6/+10
2017-06-07[InstCombine][InstSimplify] Use APInt::isNullValue/isOneValue to reduce compi...Craig Topper1-3/+4
2017-05-24[ValueTracking] Convert most of the calls to computeKnownBits to use the vers...Craig Topper1-10/+4
2017-05-22[InstCombine] Cleanup the interface for overflow checksCraig Topper1-12/+14
2017-05-22[KnownBits] Use isNegative/isNonNegative to shorten some code. NFCCraig Topper1-2/+2
2017-05-15[ValueTracking] Replace all uses of ComputeSignBit with computeKnownBits.Craig Topper1-7/+3
2017-05-15[InstCombine] Merge duplicate functionality between InstCombine and ValueTrac...Craig Topper1-95/+5
2017-05-10[InstCombine] add (ashr (shl i32 X, 31), 31), 1 --> and (not X), 1Sanjay Patel1-0/+10
2017-05-10[InstCombine] add helper function for add X, C folds; NFCISanjay Patel1-34/+45
2017-05-03[InstCombine][KnownBits] Use KnownBits better to detect nsw addsCraig Topper1-32/+44
2017-04-28[APInt] Add clearSignBit method. Use it and setSignBit in a few places. NFCICraig Topper1-1/+1
2017-04-26InstCombine: Use the new SimplifyQuery versions of Simplify*. Use AssumptionC...Daniel Berlin1-6/+4
2017-04-26[ValueTracking] Introduce a KnownBits struct to wrap the two APInts for compu...Craig Topper1-26/+21
2017-04-24InstCombine: Fix assert when reassociating fsub with undefMatt Arsenault1-0/+5
2017-04-22Fix for PR32740 - Invalid floating type, unreachable between r300969 and r301029Artur Pilipenko1-2/+5
2017-04-21[InstCombine] fadd double (sitofp x), y check that the promotion is validArtur Pilipenko1-22/+38
2017-04-20[APInt] Rename getSignBit to getSignMaskCraig Topper1-6/+6
2017-04-14[InstCombine] Support folding a subtract with a constant LHS into a phi nodeCraig Topper1-0/+5
2017-04-11Fix spelling compliment->complement. Mostly refering to 2s complement. NFCCraig Topper1-2/+2
2017-04-10[InstCombine] Use commutable matchers and m_OneUse in visitSub to shorten cod...Craig Topper1-15/+11
2017-04-10[InstCombine] Use m_c_Add to shorten some code. Add testcases for this fold s...Craig Topper1-2/+1
2017-04-10[InstCombine] Support folding of add instructions with vector constants into ...Craig Topper1-7/+2