aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Transforms/Scalar/InstructionCombining.cpp
Commit message (Expand)AuthorAgeFilesLines
* Eliminate a redundant check.Evan Cheng2009-01-151-2/+1
* - Teach CanEvaluateInDifferentType of this xform: sext (zext ty1), ty2 -> zex...Evan Cheng2009-01-151-22/+51
* Make instcombine ensure that all allocas are explicitly aligned at atDan Gohman2009-01-131-6/+11
* Rename getABITypeSize to getTypePaddedSize, asDuncan Sands2009-01-121-15/+15
* Duncan is nervous about undefinedness of % with negatives. I'mChris Lattner2009-01-111-1/+1
* do not generated GEPs into vectors where they don't already exist.Chris Lattner2009-01-111-4/+3
* Make a couple of cleanups to the instcombine bitcast/gep Chris Lattner2009-01-111-12/+13
* fix typo Duncan noticed.Chris Lattner2009-01-091-1/+1
* Implement rdar://6480391, extending of equality icmp's to avoid a truncation.Chris Lattner2009-01-091-0/+22
* Remove some old code that looks like a remanant from signed-types days.Chris Lattner2009-01-091-23/+0
* Fix part 3/2 of PR3290, making instcombine zap (gep(bitcast)) when possible.Chris Lattner2009-01-091-81/+116
* move some code, check to see if the input to the GEP is a bitcastChris Lattner2009-01-091-23/+22
* Change m_ConstantInt and m_SelectCst to take their constant integersChris Lattner2009-01-051-9/+9
* Revert this transform. It was causing some dramatic slowdowns in a few tests....Bill Wendling2009-01-041-31/+0
* Fix comment.Bill Wendling2009-01-011-1/+1
* Add transformation:Bill Wendling2009-01-011-1/+32
* Remove redundant test for vector-nature. Scan the vector first to see whetherNick Lewycky2008-12-201-4/+10
* Oops! Left out a line.Nick Lewycky2008-12-181-0/+1
* Make all the vector elements positive in an srem of constant vector.Nick Lewycky2008-12-181-0/+23
* Remove some errors that crept in. No functionality change.Bill Wendling2008-12-021-3/+4
* Merge two if-statements into one.Bill Wendling2008-12-021-7/+3
* More styalistic changes. No functionality change.Bill Wendling2008-12-021-15/+12
* - Remove the buggy -X/C -> X/-C transform. This isn't valid when X isn't aBill Wendling2008-12-021-12/+0
* Improve comment.Bill Wendling2008-12-021-4/+3
* - Reduce nesting.Bill Wendling2008-12-021-24/+18
* Don't rebuild RHSNeg. Just use the one that's already there.Bill Wendling2008-12-011-2/+1
* Document what this check is doing. Also, no need to cast to ConstantInt.Bill Wendling2008-12-011-4/+4
* Use a simple comparison. Overflow on integer negation can only occur when theBill Wendling2008-12-011-13/+2
* Generalize the FoldOrWithConstant method to fold for any two constants whichBill Wendling2008-12-011-23/+22
* Reduce copy-and-paste code by splitting out the code into its own function.Bill Wendling2008-12-011-58/+50
* Use m_Specific() instead of double matching.Bill Wendling2008-12-011-18/+12
* Move pattern check outside of the if-then statement. This prevents us from fi...Bill Wendling2008-12-011-10/+12
* simplify these patterns using m_Specific. No need to grep for Chris Lattner2008-12-011-16/+6
* Change instcombine to use FoldPHIArgGEPIntoPHI to fold two operand PHIsChris Lattner2008-12-011-17/+5
* Teach inst combine to merge GEPs through PHIs. This is reallyChris Lattner2008-12-011-16/+95
* Implement ((A|B)&1)|(B&-2) -> (A&1) | B transformation. This also takes care ofBill Wendling2008-12-011-0/+67
* Minor cleanup: use getTrue and getFalse where appropriate. No Eli Friedman2008-11-301-20/+20
* Some minor cleanups to instcombine; no functionality change.Eli Friedman2008-11-301-56/+17
* Add instruction combining for ((A&~B)|(~A&B)) -> A^B and all permutations.Bill Wendling2008-11-301-0/+23
* Implement (A&((~A)|B)) -> A&B transformation in the instruction combiner. ThisBill Wendling2008-11-301-0/+19
* Forgot one remaining call to getSExtValue().Bill Wendling2008-11-301-1/+1
* getSExtValue() doesn't work for ConstantInts with bitwidth > 64 bits. Use allBill Wendling2008-11-301-5/+5
* Don't make TwoToExp signed by default.Bill Wendling2008-11-301-2/+1
* From Hacker's Delight:Bill Wendling2008-11-301-8/+10
* Instcombine was illegally transforming -X/C into X/-C when either X or CBill Wendling2008-11-301-3/+20
* Chris prefers icmp/select over udiv!Nick Lewycky2008-11-271-3/+11
* Add a couple of missed optimizations on integer vectors. Multiply and divideNick Lewycky2008-11-271-6/+22
* switch InstCombine::visitLoadInst to use Chris Lattner2008-11-271-43/+29
* reapply Sanjiv's patch to genericize memcpy/memset/memmove to take anChris Lattner2008-11-211-6/+5
* Revert r59802. It was breaking the build of llvm-gcc:Bill Wendling2008-11-211-5/+6