summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Commit message (Collapse)AuthorAgeFilesLines
* There are two ways of checking for a given type, for example isa<PointerType>(T)Duncan Sands2010-02-161-4/+4
| | | | | | | and T->isPointerTy(). Convert most instances of the first form to the second form. Requested by Chris. llvm-svn: 96344
* Uniformize the names of type predicates: rather than having isFloatTy andDuncan Sands2010-02-151-4/+4
| | | | | | isInteger, we now have isFloatTy and isIntegerTy. Requested by Chris! llvm-svn: 96223
* teach ComputeNumSignBits to look through PHI nodes.Chris Lattner2010-01-071-3/+0
| | | | llvm-svn: 92964
* Move remaining stuff to the isInteger predicate.Benjamin Kramer2010-01-051-2/+1
| | | | llvm-svn: 92771
* Convert a ton of simple integer type equality tests to the new predicate.Benjamin Kramer2010-01-051-1/+1
| | | | llvm-svn: 92760
* Use do+while instead of while for loops which obviously have aDan Gohman2010-01-051-4/+3
| | | | | | non-zero trip count. Use SmallVector's pop_back_val(). llvm-svn: 92734
* prune some #includes.Chris Lattner2010-01-051-8/+1
| | | | llvm-svn: 92712
* split and/or/xor out into one overly-large (2000LOC) file. However, I thinkChris Lattner2010-01-051-1963/+0
| | | | | | it does make sense to keep them together, at least for now. llvm-svn: 92711
* missed file with previous commit.Chris Lattner2010-01-051-418/+0
| | | | llvm-svn: 92710
* eliminate getBitCastOperand and simplify some over-complex inbounds stuff.Chris Lattner2010-01-051-46/+22
| | | | llvm-svn: 92708
* split call handling out to InstCombineCalls.cppChris Lattner2010-01-051-1110/+2
| | | | llvm-svn: 92707
* optimize cttz and ctlz when we can prove something about the Chris Lattner2010-01-051-1/+34
| | | | | | leading/trailing bits. Patch by Alastair Lynn! llvm-svn: 92706
* this inline function moved to addsubChris Lattner2010-01-051-24/+0
| | | | llvm-svn: 92705
* split add/sub out to its own file. Eliminate use ofChris Lattner2010-01-051-695/+0
| | | | | | | dyn_castNotVal in the X+~X transform. dyn_castNotVal is dramatic overkill for what the xform needed. llvm-svn: 92704
* all the places we use hasOneUse() we know are instructions, so inlineChris Lattner2010-01-051-12/+9
| | | | | | and simplify. llvm-svn: 92700
* eliminate AssociativeOpt and its last uses.Chris Lattner2010-01-051-35/+2
| | | | llvm-svn: 92697
* inline the FoldICmpLogical functor.Chris Lattner2010-01-051-98/+90
| | | | llvm-svn: 92695
* inline the 'AddRHS' transformation, simplifying things significantly.Chris Lattner2010-01-051-39/+4
| | | | | | | | Eliminate the 'AddMaskingAnd' transformation, it is redundant with this more general code right below it: // A+B --> A|B iff A and B have no bits set in common. llvm-svn: 92693
* remove massive over-genality manifested as a big template Chris Lattner2010-01-051-60/+1
| | | | | | | | that got instantiated. There is no reason for instcombine to try this hard for simple associative optimizations. Next up, eliminate the template completely. llvm-svn: 92692
* split mul/div/rem instructions out to their own file.Chris Lattner2010-01-051-674/+4
| | | | llvm-svn: 92689
* split select out to its own file.Chris Lattner2010-01-051-692/+3
| | | | llvm-svn: 92687
* split out load/store/alloca.Chris Lattner2010-01-051-607/+0
| | | | llvm-svn: 92685
* split vector stuff out to InstCombineVectorOps.cppChris Lattner2010-01-051-540/+0
| | | | llvm-svn: 92683
* split PHI node stuff out to InstCombinePHI.cppChris Lattner2010-01-051-821/+0
| | | | llvm-svn: 92682
* Remove dead debug info intrinsics.Devang Patel2010-01-051-1/+0
| | | | | | | | | | Intrinsic::dbg_stoppoint Intrinsic::dbg_region_start Intrinsic::dbg_region_end Intrinsic::dbg_func_start AutoUpgrade simply ignores these intrinsics now. llvm-svn: 92557
* silence a bogus 'might be used uninit' warning from GCC.Chris Lattner2010-01-041-1/+1
| | | | llvm-svn: 92494
* move some more cast-related stuffChris Lattner2010-01-041-140/+0
| | | | llvm-svn: 92471
* move the [Can]EvaluateInDifferentType functions out to InstCombineCasts.cppChris Lattner2010-01-041-211/+0
| | | | llvm-svn: 92469
* split 943 lines of instcombine out to a new InstCombineCasts.cppChris Lattner2010-01-041-943/+27
| | | | | | file. InstructionCombining.cpp is now down to a svelte 9300 lines :) llvm-svn: 92468
* split instcombine of compares (visit[FI]Cmp) out toChris Lattner2010-01-041-2434/+16
| | | | | | a new InstCombineCompares.cpp file. llvm-svn: 92467
* move the 'SimplifyDemandedFoo' methods out to their own file, cutting 1K ↵Chris Lattner2010-01-041-1088/+6
| | | | | | lines out of instcombine.cpp llvm-svn: 92465
* split the instcombine class definition out to a header shared Chris Lattner2010-01-041-299/+1
| | | | | | among the instcombine library. llvm-svn: 92463
* remove a ton of unneeded LLVMContext stuff.Chris Lattner2010-01-041-278/+288
| | | | llvm-svn: 92462
* move InstCombineWorklist out to its own header.Chris Lattner2010-01-041-82/+1
| | | | llvm-svn: 92461
* move instcombine to its own library, it's past time.Chris Lattner2010-01-041-0/+14087
llvm-svn: 92459
OpenPOWER on IntegriCloud