| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Remove dead code. | Bill Wendling | 2012-01-18 | 1 | -45/+0 |
| | | | | | llvm-svn: 148384 | ||||
| * | A DenseMap of a std::map isn't a very good idea because the "grow()" method will | Bill Wendling | 2012-01-12 | 1 | -2/+2 |
| | | | | | | | | need to make a deep copy of each of the std::maps. Use a std::map of the std::map instead. This improves the compile time of sqlite3 by ~2%. llvm-svn: 148003 | ||||
| * | Revert r147978. A DenseMap's iterators may become invalidated here. | Bill Wendling | 2012-01-11 | 1 | -1/+2 |
| | | | | | llvm-svn: 147980 | ||||
| * | Use a DenseMap. | Bill Wendling | 2012-01-11 | 1 | -2/+1 |
| | | | | | | | This appears to improve sqlite3's compile time by ~2%. llvm-svn: 147978 | ||||
| * | Clear the new cache. | Benjamin Kramer | 2011-12-03 | 1 | -0/+1 |
| | | | | | llvm-svn: 145771 | ||||
| * | Add a "seen blocks" cache to LVI to avoid a linear scan over the whole cache ↵ | Benjamin Kramer | 2011-12-03 | 1 | -1/+13 |
| | | | | | | | | | | just to remove no blocks from the maps. -15% on ARMDisassembler.cpp (Release build). It's not that great to add another layer of caching to the caching-heavy LVI but I don't see a better way. llvm-svn: 145770 | ||||
| * | Fix a few more places where TargetData/TargetLibraryInfo is not being passed. | Chad Rosier | 2011-12-02 | 1 | -9/+23 |
| | | | | | | | Add FIXMEs to places that are non-trivial to fix. llvm-svn: 145661 | ||||
| * | land David Blaikie's patch to de-constify Type, with a few tweaks. | Chris Lattner | 2011-07-18 | 1 | -3/+3 |
| | | | | | llvm-svn: 135375 | ||||
| * | llvm.memcpy.* has two distinct associated address spaces; the source address ↵ | Eli Friedman | 2011-05-31 | 1 | -4/+6 |
| | | | | | | | space, and the destination address space. Fix up the interface on MemIntrinsic and MemTransferInst to make this clear, and fix InstructionDereferencesPointer in LazyValueInfo.cpp to use the interface properly. llvm-svn: 132356 | ||||
| * | Remove unused STL header includes. | Jay Foad | 2011-04-23 | 1 | -1/+0 |
| | | | | | llvm-svn: 130068 | ||||
| * | Mark some functions as used which are used within debug-only code. This | Chandler Carruth | 2011-04-18 | 1 | -0/+2 |
| | | | | | | | silences Clang's -Wunused-function when building in release mode. llvm-svn: 129709 | ||||
| * | Teach LazyValueInfo that allocas aren't NULL. Over all of llvm-test, this saves | Nick Lewycky | 2011-01-15 | 1 | -5/+27 |
| | | | | | | | | | | | | half a million non-local queries, each of which would otherwise have triggered a linear scan over a basic block. Also fix a fixme for memory intrinsics which dereference pointers. With this, we prove that a pointer is non-null because it was dereferenced by an intrinsic 112 times in llvm-test. llvm-svn: 123533 | ||||
| * | Reorder, rename, and document some members to make this easier to follow. | Owen Anderson | 2011-01-05 | 1 | -20/+23 |
| | | | | | llvm-svn: 122929 | ||||
| * | When computing the value on an edge, in certain cases LVI would fail to ↵ | Owen Anderson | 2011-01-05 | 1 | -0/+5 |
| | | | | | | | | | compute the value range in the predecessor block, leading to an incorrect conclusion for the edge value. Found by inspection. llvm-svn: 122908 | ||||
| * | Re-convert several of LazyValueInfo's internal maps to Dense{Map|Set}, and ↵ | Owen Anderson | 2011-01-05 | 1 | -33/+93 |
| | | | | | | | | | | fix the issue in hasBlockValue() that was causing iterator invalidations. Many thanks to Dimitry Andric for tracking down those invalidations! llvm-svn: 122906 | ||||
| * | Speculatively revert the use of DenseMap in LazyValueInfo, which may be ↵ | Owen Anderson | 2010-12-20 | 1 | -42/+16 |
| | | | | | | | causing Linux self-host failures. llvm-svn: 122291 | ||||
| * | Attempt to appease the DragonEgg buildbots. | Owen Anderson | 2010-12-20 | 1 | -22/+24 |
| | | | | | llvm-svn: 122288 | ||||
| * | Convert one of LVI's primary maps to a DenseMap, now that we know are more ↵ | Owen Anderson | 2010-12-20 | 1 | -16/+40 |
| | | | | | | | assured of iterator stability. llvm-svn: 122273 | ||||
| * | More LVI cleanups, including trying to simplify the process of maintaining ↵ | Owen Anderson | 2010-12-20 | 1 | -25/+41 |
| | | | | | | | the OverDefinedCache. llvm-svn: 122256 | ||||
| * | Reuse the reference into the LVI cache throughout the solver subsystem. ↵ | Owen Anderson | 2010-12-20 | 1 | -24/+28 |
| | | | | | | | | | This is much easier to verify as being safe thanks its recent de-recursivization. llvm-svn: 122254 | ||||
| * | Make LazyValueInfo non-recursive. | Nick Lewycky | 2010-12-18 | 1 | -132/+249 |
| | | | | | llvm-svn: 122120 | ||||
| * | Move Value::getUnderlyingObject to be a standalone | Dan Gohman | 2010-12-15 | 1 | -2/+3 |
| | | | | | | | | function so that it can live in Analysis instead of VMCore. llvm-svn: 121885 | ||||
| * | Clean up some of LVI: | Nick Lewycky | 2010-12-15 | 1 | -91/+101 |
| | | | | | | | | | * mergeIn now uses constant folding for constants that are provably not-equal. * sink some sanity checks from the get*() methods into the mark*() methods, to ensure that we never have a constant/notconstant ConstantInt * some textual cleanups, whitespace changes, removing "else" after return, that sort of thing. llvm-svn: 121877 | ||||
| * | Take the first step towards making LVI non-recursive: get rid of the ↵ | Owen Anderson | 2010-12-09 | 1 | -101/+39 |
| | | | | | | | LVIQuery abstraction. llvm-svn: 121357 | ||||
| * | Now with fewer extraneous semicolons! | Owen Anderson | 2010-10-07 | 1 | -1/+1 |
| | | | | | llvm-svn: 115996 | ||||
| * | It is possible, under specific circumstances involving ptrtoint ↵ | Owen Anderson | 2010-09-16 | 1 | -3/+7 |
| | | | | | | | | | | | | | ConstantExpr's, for LVI to end up trying to merge a Constant into a ConstantRange. Handle this conservatively for now, rather than asserting. The testcase is more complex that I would like, but the manifestation of the problem is sensitive to iteration orders and the state of the LVI cache, and I have not been able to reproduce it with manually constructed or simplified cases. Fixes PR8162. llvm-svn: 114103 | ||||
| * | Clean up some of the PassRegistry implementation, and pImpl-ize it to reduce ↵ | Owen Anderson | 2010-09-07 | 1 | -0/+2 |
| | | | | | | | | | #include clutter and exposing internal details. llvm-svn: 113252 | ||||
| * | Add completely hokey binary-and and binary-or operations to ConstantRange and | Nick Lewycky | 2010-09-07 | 1 | -0/+6 |
| | | | | | | | teach LazyValueInfo to use them. llvm-svn: 113196 | ||||
| * | zap dead code. | Chris Lattner | 2010-09-04 | 1 | -4/+0 |
| | | | | | llvm-svn: 113073 | ||||
| * | Add support for simplifying a load from a computed value to a load from a ↵ | Owen Anderson | 2010-09-03 | 1 | -2/+11 |
| | | | | | | | | | global when it is provable that they're equivalent. This fixes PR4855. llvm-svn: 112994 | ||||
| * | Remove incorrect and poorly tested code for trying to reason about values on ↵ | Owen Anderson | 2010-09-02 | 1 | -16/+2 |
| | | | | | | | | | default edges of switches. Just return the conservatively correct answer. llvm-svn: 112876 | ||||
| * | Fix a bug in LazyValueInfo that CorrelatedValuePropagation exposed: In the ↵ | Owen Anderson | 2010-09-02 | 1 | -4/+0 |
| | | | | | | | | | LVI lattice, undef and the full set ConstantRange should not be treated as equivalent. llvm-svn: 112843 | ||||
| * | It is possible to try to merge a not-constant with a constantrage, when ↵ | Owen Anderson | 2010-08-30 | 1 | -2/+3 |
| | | | | | | | | | | dealing with ptrtoint ConstantExpr's. Unfortunately, the only testcase I have for this is huge and doesn't reduce well because the error is sensitive to iteration-order issues, since the problem only occurs when merging values in a particular order. llvm-svn: 112489 | ||||
| * | 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 | ||||

