Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Improve the precision of getConstant(). | Owen Anderson | 2010-08-27 | 1 | -0/+5 | |
| | | | | llvm-svn: 112323 | |||||
* | Use LVI to eliminate conditional branches where we've tested a related ↵ | Owen Anderson | 2010-08-27 | 1 | -1/+2 | |
| | | | | | | | | condition previously. Update tests for this change. This fixes PR5652. llvm-svn: 112270 | |||||
* | In the default address space, any GEP off of null results in a trap value if ↵ | Owen Anderson | 2010-08-25 | 1 | -4/+5 | |
| | | | | | | | | | you try to load it. Thus, any load in the default address space that completes implies that the base value that it GEP'd from was not null. llvm-svn: 112015 | |||||
* | NULL loads are only invalid in the default address space. | Owen Anderson | 2010-08-24 | 1 | -1/+1 | |
| | | | | llvm-svn: 111972 | |||||
* | Add support for inferring values for the default cases of switches. | Owen Anderson | 2010-08-24 | 1 | -3/+22 | |
| | | | | llvm-svn: 111971 | |||||
* | Add support for inferring that a load from a pointer implies that it is not ↵ | Owen Anderson | 2010-08-24 | 1 | -4/+17 | |
| | | | | | | null. llvm-svn: 111959 | |||||
* | Don't assume that all constants with integer types are ConstantInts. | Owen Anderson | 2010-08-24 | 1 | -2/+11 | |
| | | | | llvm-svn: 111906 | |||||
* | Use ConstantRange to propagate information through value definitions. | Owen Anderson | 2010-08-18 | 1 | -4/+83 | |
| | | | | llvm-svn: 111425 | |||||
* | Inform LazyValueInfo whenever a block is deleted, to avoid dangling pointer ↵ | Owen Anderson | 2010-08-18 | 1 | -21/+47 | |
| | | | | | | issues. llvm-svn: 111382 | |||||
* | Fix another iterator invalidation that caused a *really* nasty ↵ | Owen Anderson | 2010-08-16 | 1 | -6/+7 | |
| | | | | | | miscompilation in 403.gcc. llvm-svn: 111210 | |||||
* | Fix a subtle use-after-free issue. | Owen Anderson | 2010-08-11 | 1 | -1/+4 | |
| | | | | llvm-svn: 110863 | |||||
* | Improve indentation. | Owen Anderson | 2010-08-11 | 1 | -27/+28 | |
| | | | | llvm-svn: 110778 | |||||
* | Now that we're using ConstantRange to represent potential values, make use ↵ | Owen Anderson | 2010-08-10 | 1 | -8/+35 | |
| | | | | | | | | of that represenation to create constraints from comparisons other than eq/neq. llvm-svn: 110742 | |||||
* | Switch over to using ConstantRange to track integral values. | Owen Anderson | 2010-08-10 | 1 | -7/+44 | |
| | | | | llvm-svn: 110714 | |||||
* | Add ConstantRange information to the debugging output. | Owen Anderson | 2010-08-09 | 1 | -0/+3 | |
| | | | | llvm-svn: 110598 | |||||
* | Add the beginnings of infrastructure for range tracking. | Owen Anderson | 2010-08-05 | 1 | -6/+60 | |
| | | | | llvm-svn: 110388 | |||||
* | Split the tag and value members of LVILatticeVal in preparation for ↵ | Owen Anderson | 2010-08-05 | 1 | -14/+14 | |
| | | | | | | expanding the lattice to something that won't fit in two bits. llvm-svn: 110383 | |||||
* | Add an initial implementation of PHI translation for LazyValueInfo. This ↵ | Owen Anderson | 2010-07-30 | 1 | -35/+72 | |
| | | | | | | | | involves rolling back some of my earlier data structure improvements until I can ensure that there are no iterator invalidation problems. llvm-svn: 109935 | |||||
* | Revert my last two patches to LVI, which recent changes have exposed a ↵ | Owen Anderson | 2010-07-30 | 1 | -56/+94 | |
| | | | | | | miscompilation in. llvm-svn: 109889 | |||||
* | Pass the queried value by argument rather than in a member, in preparation ↵ | Owen Anderson | 2010-07-28 | 1 | -36/+25 | |
| | | | | | | for supporting PHI translation. llvm-svn: 109701 | |||||
* | Get rid of LVIQuery as a distinct data structure, so that we don't have to ↵ | Owen Anderson | 2010-07-28 | 1 | -93/+66 | |
| | | | | | | initialize a new set of maps on every query. llvm-svn: 109679 | |||||
* | Rearrange several datastructures in LazyValueInfo to improve compile time. | Owen Anderson | 2010-07-27 | 1 | -69/+35 | |
| | | | | | | This is still not perfect, but better than it was before. llvm-svn: 109563 | |||||
* | Add an initial implementation of LazyValueInfo updating for JumpThreading. ↵ | Owen Anderson | 2010-07-26 | 1 | -4/+89 | |
| | | | | | | Disabled for now. llvm-svn: 109424 | |||||
* | Fix batch of converting RegisterPass<> to INTIALIZE_PASS(). | Owen Anderson | 2010-07-21 | 1 | -2/+2 | |
| | | | | llvm-svn: 109045 | |||||
* | Convert debug messages to use dbgs(). Generally this means | David Greene | 2009-12-23 | 1 | -7/+7 | |
| | | | | | | s/errs/dbgs/g except for certain special cases. llvm-svn: 92040 | |||||
* | typo spotted by duncan. | Chris Lattner | 2009-11-16 | 1 | -1/+1 | |
| | | | | llvm-svn: 88884 | |||||
* | teach LVI to infer edge information from switch instructions. | Chris Lattner | 2009-11-15 | 1 | -6/+24 | |
| | | | | | | | This allows JT to eliminate a ton of infeasible edges when handling code like the templates in PatternMatch.h llvm-svn: 88869 | |||||
* | fix a logic error that would cause LVI-JT to miscompile | Chris Lattner | 2009-11-15 | 1 | -1/+1 | |
| | | | | | | some conditionals llvm-svn: 88868 | |||||
* | implement the first stab at caching queries. This isn't correct | Chris Lattner | 2009-11-15 | 1 | -13/+97 | |
| | | | | | | | (because the invalidation logic is missing) but LVI isn't enabled by default anyway. llvm-svn: 88867 | |||||
* | refactor a bunch of code forming the new LazyValueInfoCache | Chris Lattner | 2009-11-15 | 1 | -94/+172 | |
| | | | | | | and LVIQuery classes, no functionality change. llvm-svn: 88866 | |||||
* | various fixes to the lattice transfer functions. | Chris Lattner | 2009-11-12 | 1 | -6/+27 | |
| | | | | llvm-svn: 86952 | |||||
* | Add a new getPredicateOnEdge method which returns more rich information for | Chris Lattner | 2009-11-12 | 1 | -17/+85 | |
| | | | | | | | constant constraints. Improve the LVI lattice to include inequality constraints. llvm-svn: 86950 | |||||
* | expose edge information and switch j-t to use it. | Chris Lattner | 2009-11-12 | 1 | -0/+21 | |
| | | | | llvm-svn: 86920 | |||||
* | move some stuff into DEBUG's and turn on lazy-value-info for | Chris Lattner | 2009-11-12 | 1 | -3/+5 | |
| | | | | | | the basic.ll testcase. llvm-svn: 86918 | |||||
* | make LazyValueInfo actually to some stuff. This isn't very tested but improves | Chris Lattner | 2009-11-11 | 1 | -8/+152 | |
| | | | | | | strswitch. llvm-svn: 86889 | |||||
* | stub out some LazyValueInfo interfaces, and have JumpThreading | Chris Lattner | 2009-11-11 | 1 | -1/+116 | |
| | | | | | | | | start using them in a trivial way when -enable-jump-threading-lvi is passed. enable-jump-threading-lvi will be my playground for awhile. llvm-svn: 86789 | |||||
* | Stub out a new lazy value info pass, which will eventually | Chris Lattner | 2009-11-11 | 1 | -0/+31 | |
vend value constraint information to the optimizer. llvm-svn: 86767 |