aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Transforms/Scalar/InstructionCombining.cpp
Commit message (Expand)AuthorAgeFilesLines
* Add support alignment of allocation instructions.Nate Begeman2005-11-051-4/+4
* Turn sdiv into udiv if both operands have a clear sign bit. This occursChris Lattner2005-11-051-0/+19
* Turn srem -> urem when neither input has their sign bit set. This triggersChris Lattner2005-11-051-1/+19
* make this 64 bit clean, fixed test30 of /Regression/Transforms/InstCombine/ad...Andrew Lenharth2005-11-021-1/+1
* Limit the search depth of MaskedValueIsZero to 6 instructions, to avoidChris Lattner2005-10-311-10/+14
* Pull some code out into a function, give it the ability to see through +.Chris Lattner2005-10-291-24/+59
* Remove a special case, allowing the general case to handle it. No functionalityChris Lattner2005-10-291-49/+37
* Fix a bit of backwards logic that broke exptree and smg2000Chris Lattner2005-10-281-1/+1
* Do not sink any instruction with side effects, including vaarg. This fixesChris Lattner2005-10-271-4/+2
* Fix typoChris Lattner2005-10-271-1/+1
* Teach instcombine to promote stuff like (cast (malloc sbyte, 8*X) to int*)Chris Lattner2005-10-271-7/+26
* Promote cases like cast (malloc sbyte, 100) to int* intoChris Lattner2005-10-271-1/+22
* Minor change to this file to support obscure cases with constant array amountsChris Lattner2005-10-271-5/+16
* fold nested and's early to avoid inefficiencies in MaskedValueIsZero. ThisChris Lattner2005-10-261-0/+9
* Handle allocations that, even after removing dead uses, still have more thanChris Lattner2005-10-241-3/+15
* Fix a bug where we would 'promote' an allocation from one type to anotherChris Lattner2005-10-241-2/+6
* Before promoting a malloc type, remove dead uses. This makes instcombineChris Lattner2005-10-241-0/+20
* Pull some code out into a function, no functionality changeChris Lattner2005-10-241-25/+36
* Make this work for FP constantexprsChris Lattner2005-10-171-2/+3
* Oops, X+0.0 isn't foldable, but X+-0.0 is.Chris Lattner2005-10-171-4/+5
* relax this a bit, as we only support the default rounding modeChris Lattner2005-10-171-2/+4
* Make MaskedValueIsZero a bit more aggressiveChris Lattner2005-10-091-3/+9
* Fix funky xcode indentationChris Lattner2005-10-091-50/+50
* Remove useless variable.Jeff Cohen2005-10-071-1/+1
* Factor the GetGEPGlobalInitializer out of this pass and into Transforms/UtilsChris Lattner2005-09-261-44/+2
* Move MaskedValueIsZero up.Chris Lattner2005-09-241-77/+146
* Refactor this code a bit and make it more general. This now compiles:Chris Lattner2005-09-181-24/+53
* CompileChris Lattner2005-09-181-31/+70
* Generalize this transform, using MaskedValueIsZero, allowing us to compile:Chris Lattner2005-09-181-14/+21
* fix typeoChris Lattner2005-09-181-1/+1
* Remove unintentionally committed codeChris Lattner2005-09-181-3/+0
* implement shift.ll:test25. This compiles:Chris Lattner2005-09-181-3/+53
* Implement add.ll:test29. Codegening:Chris Lattner2005-09-181-0/+66
* remove debug outputChris Lattner2005-09-181-1/+0
* Implement or.ll:test21. This teaches instcombine to be able to turn this:Chris Lattner2005-09-181-3/+25
* Fix the regression last night compiling povrayChris Lattner2005-09-141-2/+3
* Add a simple xform to simplify array accesses with casts in the way.Chris Lattner2005-09-131-2/+62
* Add a helper function, allowing us to simplify some code a bit, changingChris Lattner2005-09-131-39/+47
* Implement a simple xform to turn code like this:Chris Lattner2005-09-121-0/+66
* Another load-peephole optimization: do gcse when two loads are next toChris Lattner2005-09-121-2/+5
* Implement a trivial form of store->load forwarding where the store and theChris Lattner2005-09-121-0/+9
* Use the new 'moveBefore' method to simplify some code. Really, which isChris Lattner2005-08-081-2/+1
* Add some simple folds that occur in bitfield cases. Fix a minor bug inChris Lattner2005-08-071-0/+32
* now that hasConstantValue defaults to only returning values that dominateChris Lattner2005-08-051-19/+2
* Fix a fixme in CondPropagate.cpp by moving a PhiNode optimization intoNate Begeman2005-08-041-1/+1
* Update to use the new MathExtras.h support for log2 computation.Chris Lattner2005-08-021-22/+15
* Eliminate all remaining tabs and trailing spaces.Jeff Cohen2005-07-271-7/+7
* Do not let MaskedValueIsZero consider undef to be zero, for reasonsChris Lattner2005-07-201-2/+8
* When transforming &A[i] < &A[j] -> i < j, make sure to perform the comparisonChris Lattner2005-07-181-4/+11
* Fix a problem that instcombine would hit when dealing with unreachable code.Chris Lattner2005-07-071-5/+29