History log of /external/llvm/lib/Analysis/LazyValueInfo.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
db125cfaf57cc83e7dd7453de2d509bc8efd0e5e 18-Jul-2011 Chris Lattner <sabre@nondot.org> land David Blaikie's patch to de-constify Type, with a few tweaks.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
69388e5a4a941e7e02c7f4b52d6e743a480e135f 31-May-2011 Eli Friedman <eli.friedman@gmail.com> llvm.memcpy.* has two distinct associated address spaces; the source address 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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
ddcdcc88631c6bd4ad43d9198b98bc9a829be036 23-Apr-2011 Jay Foad <jay.foad@gmail.com> Remove unused STL header includes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130068 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
3b55a372d4c457d65dadd9a04c2b2d310f1bab83 18-Apr-2011 Chandler Carruth <chandlerc@gmail.com> Mark some functions as used which are used within debug-only code. This
silences Clang's -Wunused-function when building in release mode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
786c7cd14174265cfb0847f6e7faf53b6b96f9f6 15-Jan-2011 Nick Lewycky <nicholas@mxc.ca> Teach LazyValueInfo that allocas aren't NULL. Over all of llvm-test, this saves
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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123533 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
e68713ae8b7bc30ce96f9d74685e3c230340a01f 06-Jan-2011 Owen Anderson <resistor@mac.com> Reorder, rename, and document some members to make this easier to follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122929 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
be41901d5a8b48ef6587a9f4c688376033e4a590 05-Jan-2011 Owen Anderson <resistor@mac.com> When computing the value on an edge, in certain cases LVI would fail to compute the value range
in the predecessor block, leading to an incorrect conclusion for the edge value. Found by inspection.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122908 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
89778462c0ebd61f54048cf19be6a7387a6fc940 05-Jan-2011 Owen Anderson <resistor@mac.com> Re-convert several of LazyValueInfo's internal maps to Dense{Map|Set}, and fix the issue in
hasBlockValue() that was causing iterator invalidations. Many thanks to Dimitry Andric for
tracking down those invalidations!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122906 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
4d3daab1a1fac657552d8eaf230a41d260670f84 21-Dec-2010 Owen Anderson <resistor@mac.com> Speculatively revert the use of DenseMap in LazyValueInfo, which may be causing Linux self-host failures.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122291 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
bb39ac1458deecf167af2c51c9cbc0a80a0efb98 21-Dec-2010 Owen Anderson <resistor@mac.com> Attempt to appease the DragonEgg buildbots.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122288 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
aa6f105629e264b8de47b532028f99f75a33aa70 20-Dec-2010 Owen Anderson <resistor@mac.com> Convert one of LVI's primary maps to a DenseMap, now that we know are more assured of iterator stability.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122273 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
87790abb08eea60a2fa090b6d7b498cc625fa3f2 20-Dec-2010 Owen Anderson <resistor@mac.com> More LVI cleanups, including trying to simplify the process of maintaining the OverDefinedCache.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122256 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
61863945284611b85b8f5d1233fa3817b00994cd 20-Dec-2010 Owen Anderson <resistor@mac.com> Reuse the reference into the LVI cache throughout the solver subsystem. This is much easier to
verify as being safe thanks its recent de-recursivization.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122254 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
90862eeb7d7b15966e8711b26605eb507879837b 18-Dec-2010 Nick Lewycky <nicholas@mxc.ca> Make LazyValueInfo non-recursive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122120 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
5034dd318a9dfa0dc45a3ac01e58e60f2aa2498d 15-Dec-2010 Dan Gohman <gohman@apple.com> Move Value::getUnderlyingObject to be a standalone
function so that it can live in Analysis instead of
VMCore.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121885 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
69bfdf5a2465ad4439079cf7a4ee158f4fcc5b35 15-Dec-2010 Nick Lewycky <nicholas@mxc.ca> Clean up some of LVI:
* 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121877 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
f33b302e5bef8d7c71cbf6c6bb63776f067d3d89 09-Dec-2010 Owen Anderson <resistor@mac.com> Take the first step towards making LVI non-recursive: get rid of the LVIQuery abstraction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121357 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
ce665bd2e2b581ab0858d1afe359192bac96b868 08-Oct-2010 Owen Anderson <resistor@mac.com> Now with fewer extraneous semicolons!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
c2ce21ad51590377b572a572243e373f7a7b9fb4 16-Sep-2010 Owen Anderson <resistor@mac.com> It is possible, under specific circumstances involving ptrtoint 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114103 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
6bcd3a02653c45b87094577517547b7eb9f76395 07-Sep-2010 Owen Anderson <resistor@mac.com> Clean up some of the PassRegistry implementation, and pImpl-ize it to reduce #include clutter
and exposing internal details.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
198381e542320265e1c5fed18e938db3563a45bf 07-Sep-2010 Nick Lewycky <nicholas@mxc.ca> Add completely hokey binary-and and binary-or operations to ConstantRange and
teach LazyValueInfo to use them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113196 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
17aa68055beed6faa48ca3a995c5b6fdf5092fd4 04-Sep-2010 Chris Lattner <sabre@nondot.org> zap dead code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113073 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
1593dd6779d7ab1db13c44f32f987c32aff2b54b 03-Sep-2010 Owen Anderson <resistor@mac.com> Add support for simplifying a load from a computed value to a load from a global when it
is provable that they're equivalent. This fixes PR4855.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112994 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
4caef6001d2180a707ab42f4986f9941d5d0248b 03-Sep-2010 Owen Anderson <resistor@mac.com> Remove incorrect and poorly tested code for trying to reason about values on default edges of
switches. Just return the conservatively correct answer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112876 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
66048c2169dd8d7541eae39e5c2aa2a935fc46fa 02-Sep-2010 Owen Anderson <resistor@mac.com> Fix a bug in LazyValueInfo that CorrelatedValuePropagation exposed: In the LVI lattice, undef and the full set ConstantRange should not
be treated as equivalent.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112843 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
392953262ee9ce3e3ff714867d01e1e1edbe391d 30-Aug-2010 Owen Anderson <resistor@mac.com> It is possible to try to merge a not-constant with a constantrage, when 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112489 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
ee61fcf98bb84e7e9f3450035bef92c4d087c0ae 28-Aug-2010 Owen Anderson <resistor@mac.com> Improve the precision of getConstant().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
660cab32fe5105bcaa17daa4704c24065ac0a7e6 27-Aug-2010 Owen Anderson <resistor@mac.com> Use LVI to eliminate conditional branches where we've tested a related condition previously. Update tests for this change.
This fixes PR5652.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112270 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
6cd207554994a6ad8577cdd1efd3ef3917bd547f 25-Aug-2010 Owen Anderson <resistor@mac.com> In the default address space, any GEP off of null results in a trap value if 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112015 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
7bef92ac7ad4da315fab3aca017175e856cb4702 25-Aug-2010 Owen Anderson <resistor@mac.com> NULL loads are only invalid in the default address space.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111972 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
dae90c6afb5f625244c5bb3962669bd1f8a3d5be 24-Aug-2010 Owen Anderson <resistor@mac.com> Add support for inferring values for the default cases of switches.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111971 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
c8ef750605385b3704c0e310b91a0e042cac5781 24-Aug-2010 Owen Anderson <resistor@mac.com> Add support for inferring that a load from a pointer implies that it is not null.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111959 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
59b06dc7758fb6087cdcf5d9f45a9ebb11e05504 24-Aug-2010 Owen Anderson <resistor@mac.com> Don't assume that all constants with integer types are ConstantInts.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111906 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
b81fd62a6688d165d1de268d1f9fe0f4abe1d99b 18-Aug-2010 Owen Anderson <resistor@mac.com> Use ConstantRange to propagate information through value definitions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111425 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
00ac77ef886f57bd421341d717849695e5fde474 18-Aug-2010 Owen Anderson <resistor@mac.com> Inform LazyValueInfo whenever a block is deleted, to avoid dangling pointer issues.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111382 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
4bb3eafab535d5f5c3567e1d958df257c1e3a4aa 17-Aug-2010 Owen Anderson <resistor@mac.com> Fix another iterator invalidation that caused a *really* nasty miscompilation in 403.gcc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
cf6abd248672486bf037c8b74d4a779be6d5688a 12-Aug-2010 Owen Anderson <resistor@mac.com> Fix a subtle use-after-free issue.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110863 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
2d0f2470ff8127351fb10dc229a921fe9003eff3 11-Aug-2010 Owen Anderson <resistor@mac.com> Improve indentation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110778 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
625051be7e30d70ba44878a0f3b4d4195902a8ef 11-Aug-2010 Owen Anderson <resistor@mac.com> Now that we're using ConstantRange to represent potential values, make use of that represenation to
create constraints from comparisons other than eq/neq.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110742 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
9f014061799c01bd6eb5947f95a330ee99798efc 10-Aug-2010 Owen Anderson <resistor@mac.com> Switch over to using ConstantRange to track integral values.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110714 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
2f3ffb80fa19cea89e507ad14966ce511012f308 09-Aug-2010 Owen Anderson <resistor@mac.com> Add ConstantRange information to the debugging output.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110598 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
5be2e78fa1cc2df5d51d6ff3b107598a32974b49 06-Aug-2010 Owen Anderson <resistor@mac.com> Add the beginnings of infrastructure for range tracking.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110388 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
db78d73d969d84730816c574c30dc166450ef974 06-Aug-2010 Owen Anderson <resistor@mac.com> Split the tag and value members of LVILatticeVal in preparation for expanding the lattice to something that won't fit in two bits.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110383 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
7f9cb744f284f23b362b010c1986d230c89d179c 31-Jul-2010 Owen Anderson <resistor@mac.com> Add an initial implementation of PHI translation for LazyValueInfo. This involves rolling back some
of my earlier data structure improvements until I can ensure that there are no iterator invalidation problems.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109935 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
81881bcd35ad944a8f8e14b8c5c05096cabd98c7 30-Jul-2010 Owen Anderson <resistor@mac.com> Revert my last two patches to LVI, which recent changes have exposed a miscompilation in.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109889 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
e2fb451dbb50d9b1b4254f5acc7c98b1a8ebd3cf 29-Jul-2010 Owen Anderson <resistor@mac.com> Pass the queried value by argument rather than in a member, in preparation for supporting PHI translation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109701 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
9da5c997c0015079c9f082759ea07ea09f285333 29-Jul-2010 Owen Anderson <resistor@mac.com> Get rid of LVIQuery as a distinct data structure, so that we don't have to initialize a new set of maps on every query.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109679 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
9a65dc996801d73c2a460a41cdb46bff6f8303a1 28-Jul-2010 Owen Anderson <resistor@mac.com> Rearrange several datastructures in LazyValueInfo to improve compile time.
This is still not perfect, but better than it was before.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109563 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
cfa7fb6df5aaaf9e54fe97633167b44782224e45 26-Jul-2010 Owen Anderson <resistor@mac.com> Add an initial implementation of LazyValueInfo updating for JumpThreading. Disabled for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109424 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
d13db2c59cc94162d6cf0a04187d408bfef6d4a7 22-Jul-2010 Owen Anderson <resistor@mac.com> Fix batch of converting RegisterPass<> to INTIALIZE_PASS().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109045 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
5d93a1fb36ee91c92b5d219376f3c2f26ec7301e 23-Dec-2009 David Greene <greened@obbligato.org> Convert debug messages to use dbgs(). Generally this means
s/errs/dbgs/g except for certain special cases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92040 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
d6add155a7d690c11d707f36934d62a939531381 16-Nov-2009 Chris Lattner <sabre@nondot.org> typo spotted by duncan.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88884 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
800c47ec10b199e6601031b508c31d783c19a659 15-Nov-2009 Chris Lattner <sabre@nondot.org> teach LVI to infer edge information from switch instructions.
This allows JT to eliminate a ton of infeasible edges when
handling code like the templates in PatternMatch.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88869 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
5553a3a5108f2942672cfac6f7bcf433acaf89ff 15-Nov-2009 Chris Lattner <sabre@nondot.org> fix a logic error that would cause LVI-JT to miscompile
some conditionals


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88868 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
e5642812d388c29c71e078c5599db350c3dbc79a 15-Nov-2009 Chris Lattner <sabre@nondot.org> implement the first stab at caching queries. This isn't correct
(because the invalidation logic is missing) but LVI isn't enabled
by default anyway.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88867 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
2c5adf832aa40240adb7c3e673b4d4ac902c9ad7 15-Nov-2009 Chris Lattner <sabre@nondot.org> refactor a bunch of code forming the new LazyValueInfoCache
and LVIQuery classes, no functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88866 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
f496e79f44f13ac80564f5f8e69aa648033e7889 12-Nov-2009 Chris Lattner <sabre@nondot.org> various fixes to the lattice transfer functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86952 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
b52675b643db496bcea218bd3d5fc5e23f523c22 12-Nov-2009 Chris Lattner <sabre@nondot.org> Add a new getPredicateOnEdge method which returns more rich information for
constant constraints. Improve the LVI lattice to include inequality
constraints.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86950 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
38392bbeb81233d0b342ad33166fc82ad922bc34 12-Nov-2009 Chris Lattner <sabre@nondot.org> expose edge information and switch j-t to use it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86920 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
b8c124c3439ae5fad6a6c8a7aa0d3dd48787d265 12-Nov-2009 Chris Lattner <sabre@nondot.org> move some stuff into DEBUG's and turn on lazy-value-info for
the basic.ll testcase.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86918 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
1697652922452529e2f20730398d09a69a60e530 11-Nov-2009 Chris Lattner <sabre@nondot.org> make LazyValueInfo actually to some stuff. This isn't very tested but improves
strswitch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86889 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
cc4d3b25f336eef135cb7125716ecb2c1979e92e 11-Nov-2009 Chris Lattner <sabre@nondot.org> stub out some LazyValueInfo interfaces, and have JumpThreading
start using them in a trivial way when -enable-jump-threading-lvi
is passed. enable-jump-threading-lvi will be my playground for
awhile.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86789 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp
10f2d13d580da348ba9769864f02d0d5a862c1e0 11-Nov-2009 Chris Lattner <sabre@nondot.org> Stub out a new lazy value info pass, which will eventually
vend value constraint information to the optimizer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Analysis/LazyValueInfo.cpp