summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Commit message (Expand)AuthorAgeFilesLines
* InstCombine optimizes gep(bitcast(x)) even when the bitcasts casts away addressNadav Rotem2011-04-051-8/+11
* Remove PHINode::reserveOperandSpace(). Instead, add a parameter toJay Foad2011-03-301-2/+1
* Make more use of PHINode::getNumIncomingValues().Jay Foad2011-03-281-1/+1
* Try to not lose variable's debug info during instcombine.Devang Patel2011-03-171-0/+4
* Do not forget DebugLoc!Devang Patel2011-02-151-0/+1
* Conservatively, clear optional flags, such as nsw, when performingDan Gohman2011-02-021-0/+15
* fix PR9013, an infinite loop in instcombine.Chris Lattner2011-01-211-2/+10
* update obsolete comment.Chris Lattner2011-01-211-4/+3
* Don't try to pull vector bitcasts that change the number of elements throughNick Lewycky2011-01-211-3/+17
* remove a dead check, this was needed before we had an explicit veto on uses o...Chris Lattner2011-01-161-5/+0
* enhance FoldOpIntoPhi in instcombine to try harder when a phi hasChris Lattner2011-01-161-3/+19
* remove the AllowAggressive argument to FoldOpIntoPhi. It is forced to false ...Chris Lattner2011-01-161-8/+3
* more cleanups: use the IR builder.Chris Lattner2011-01-161-38/+39
* tidy up code.Chris Lattner2011-01-161-16/+20
* Add a generic expansion transform: A op (B op' C) -> (A op B) op' (A op C)Duncan Sands2010-12-221-54/+114
* Add some statistics, good for understanding how much more powerfulDuncan Sands2010-12-221-2/+12
* fix an oversight caught by Frits!Chris Lattner2010-12-191-3/+4
* move a transformation to a more logical place, simplifying it.Chris Lattner2010-12-191-0/+7
* Transform (extractvalue (load P), ...) to (load (gep P, 0, ...)) if the load ...Frits van Bommel2010-11-291-3/+30
* Rename SimplifyDistributed to the more meaningfull name SimplifyByFactorizing.Duncan Sands2010-11-231-5/+5
* Propagate LeftDistributes and RightDistributes into their only uses.Duncan Sands2010-11-231-6/+4
* Fix typo pointed out by Frits van Bommel and Marius Wachtler.Duncan Sands2010-11-231-1/+1
* Exploit distributive laws (eg: And distributes over Or, Mul over Add, etc) in aDuncan Sands2010-11-231-0/+111
* If a GEP index simply advances by multiples of a type of zero size,Duncan Sands2010-11-221-14/+24
* Move the "gep undef" -> "undef" transform from instcombine toDuncan Sands2010-11-221-3/+0
* Generalize the reassociation transform in SimplifyCommutative (now renamed toDuncan Sands2010-11-131-36/+118
* SmallVectorize.Benjamin Kramer2010-10-231-3/+1
* Now with fewer extraneous semicolons!Owen Anderson2010-10-071-1/+1
* Add initialization routines to InstCombine.Owen Anderson2010-10-071-0/+9
* Fix batch of converting RegisterPass<> to INTIALIZE_PASS().Owen Anderson2010-07-211-2/+2
* cache result of operator*Gabor Greif2010-07-091-2/+3
* use ArgOperand API, also tighten the type of visitFree to make this work out ...Gabor Greif2010-06-241-6/+6
* Teach instCombine to remove malloc+free if malloc's only uses are comparisonsDuncan Sands2010-05-271-17/+46
* Revert 101465, it broke internal OpenGL testing.Eric Christopher2010-04-161-5/+5
* reapply r101434Gabor Greif2010-04-161-5/+5
* back out r101423 and r101397, they break llvm-gcc self-host on darwin10Gabor Greif2010-04-161-5/+5
* reapply r101364, which has been backed out in r101368Gabor Greif2010-04-151-5/+5
* back out r101364, as it trips the linux nightlybot on some clang C++ testsGabor Greif2010-04-151-5/+5
* rotate CallInst operands, i.e. move callee to the backGabor Greif2010-04-151-5/+5
* There are two ways of checking for a given type, for example isa<PointerType>(T)Duncan Sands2010-02-161-4/+4
* Uniformize the names of type predicates: rather than having isFloatTy andDuncan Sands2010-02-151-4/+4
* teach ComputeNumSignBits to look through PHI nodes.Chris Lattner2010-01-071-3/+0
* Move remaining stuff to the isInteger predicate.Benjamin Kramer2010-01-051-2/+1
* Convert a ton of simple integer type equality tests to the new predicate.Benjamin Kramer2010-01-051-1/+1
* Use do+while instead of while for loops which obviously have aDan Gohman2010-01-051-4/+3
* prune some #includes.Chris Lattner2010-01-051-8/+1
* split and/or/xor out into one overly-large (2000LOC) file. However, I thinkChris Lattner2010-01-051-1963/+0
* missed file with previous commit.Chris Lattner2010-01-051-418/+0
* eliminate getBitCastOperand and simplify some over-complex inbounds stuff.Chris Lattner2010-01-051-46/+22
* split call handling out to InstCombineCalls.cppChris Lattner2010-01-051-1110/+2
OpenPOWER on IntegriCloud