Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Teach InstructionSimplify to fold (A & B) & A -> A & B and (A | B) | A -> A | B. | Benjamin Kramer | 2010-09-10 | 1 | -0/+20 | |
| | | | | | | Reassociate does this but it doesn't catch all cases (e.g. if the operands are i1). llvm-svn: 113651 | |||||
* | Fix PR7647, handling the case when 'To' ends up being | Chris Lattner | 2010-07-15 | 1 | -14/+34 | |
| | | | | | | | | | | mutated by recursive simplification. This also enhances ReplaceAndSimplifyAllUses to actually do a real RAUW at the end of it, which updates any value handles pointing to "From" to start pointing to "To". This seems useful for debug info and random other VH users. llvm-svn: 108415 | |||||
* | Revert r108401; it breaks bootstrap :( | Eli Friedman | 2010-07-15 | 1 | -3/+1 | |
| | | | | llvm-svn: 108407 | |||||
* | Add AssertingVH which makes PR7647 break consistently. | Eli Friedman | 2010-07-15 | 1 | -1/+3 | |
| | | | | llvm-svn: 108401 | |||||
* | move some select simplifications out out instcombine into | Chris Lattner | 2010-04-20 | 1 | -0/+32 | |
| | | | | | | inst simplify. No functionality change. llvm-svn: 101873 | |||||
* | fix incorrect folding of icmp with undef, PR6481. | Chris Lattner | 2010-03-03 | 1 | -4/+3 | |
| | | | | llvm-svn: 97659 | |||||
* | Constant-fold certain comparisons with infinity and negative infinity. | Dan Gohman | 2010-02-22 | 1 | -0/+26 | |
| | | | | llvm-svn: 96777 | |||||
* | factor some logic out of instcombine into a new SimplifyAddInst method. | Chris Lattner | 2009-11-27 | 1 | -6/+35 | |
| | | | | llvm-svn: 90011 | |||||
* | factor some instcombine simplifications for getelementptr out to a new | Chris Lattner | 2009-11-27 | 1 | -0/+32 | |
| | | | | | | SimplifyGEPInst method in InstructionSimplify.h. No functionality change. llvm-svn: 89980 | |||||
* | move some generally useful functions out of jump threading | Chris Lattner | 2009-11-10 | 1 | -0/+35 | |
| | | | | | | into libanalysis and transformutils. llvm-svn: 86735 | |||||
* | I misread the parens, not so redundant after all. | Chris Lattner | 2009-11-10 | 1 | -4/+4 | |
| | | | | llvm-svn: 86648 | |||||
* | remove some redundant parens. | Chris Lattner | 2009-11-10 | 1 | -4/+4 | |
| | | | | llvm-svn: 86645 | |||||
* | add a new SimplifyInstruction API, which is like ConstantFoldInstruction, | Chris Lattner | 2009-11-10 | 1 | -0/+20 | |
| | | | | | | | | except that the result may not be a constant. Switch jump threading to use it so that it gets things like (X & 0) -> 0, which occur when phi preds are deleted and the remaining phi pred was a zero. llvm-svn: 86637 | |||||
* | factor simplification logic for AND and OR out to InstSimplify from instcombine. | Chris Lattner | 2009-11-10 | 1 | -24/+149 | |
| | | | | llvm-svn: 86635 | |||||
* | pull a bunch of logic out of instcombine into instsimplify for compare | Chris Lattner | 2009-11-09 | 1 | -5/+93 | |
| | | | | | | simplification, this handles the foldable fcmp x,x cases among many others. llvm-svn: 86627 | |||||
* | rename SimplifyCompare -> SimplifyCmpInst and split it into | Chris Lattner | 2009-11-09 | 1 | -10/+35 | |
| | | | | | | | Simplify[IF]Cmp pieces. Add some predicates to CmpInst to determine whether a predicate is fp or int. llvm-svn: 86624 | |||||
* | fix ConstantFoldCompareInstOperands to take the LHS/RHS as | Chris Lattner | 2009-11-09 | 1 | -4/+2 | |
| | | | | | | individual operands instead of taking a temporary array llvm-svn: 86619 | |||||
* | stub out a new libanalysis "instruction simplify" interface that | Chris Lattner | 2009-11-09 | 1 | -0/+57 | |
takes decimated instructions and applies identities to them. This is pretty minimal at this point, but I plan to pull some instcombine logic out into these and similar routines. llvm-svn: 86613 |