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
|