Owen Anderson 
							
						 
					 
					
						
						
							
						
						ee61fcf98b 
					 
					
						
						
							
							Improve the precision of getConstant().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112323  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-27 23:29:38 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						660cab32fe 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-08-27 17:12:29 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						6cd2075549 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-08-25 01:16:47 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						7bef92ac7a 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-08-24 22:00:55 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						dae90c6afb 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-08-24 21:59:42 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						c8ef750605 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-08-24 20:47:29 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						59b06dc775 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-08-24 07:55:44 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						b81fd62a66 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-08-18 21:11:37 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						00ac77ef88 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-08-18 18:39:01 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						4bb3eafab5 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-08-16 23:42:33 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						cf6abd2486 
					 
					
						
						
							
							Fix a subtle use-after-free issue.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110863  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-11 22:36:04 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						2d0f2470ff 
					 
					
						
						
							
							Improve indentation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110778  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-11 04:24:25 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						625051be7e 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-08-10 23:20:01 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						9f01406179 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-08-10 20:03:09 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						2f3ffb80fa 
					 
					
						
						
							
							Add ConstantRange information to the debugging output.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110598  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-09 20:50:46 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						5be2e78fa1 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-08-05 22:59:19 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						db78d73d96 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-08-05 22:10:46 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						7f9cb744f2 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-07-30 23:59:40 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						81881bcd35 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-07-30 20:56:07 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						e2fb451dbb 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-07-28 23:50:08 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						9da5c997c0 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-07-28 22:07:25 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						9a65dc9968 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-07-27 23:58:11 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						cfa7fb6df5 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-07-26 18:48:03 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						d13db2c59c 
					 
					
						
						
							
							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 
						
						
					 
					
						2010-07-21 22:09:45 +00:00 
						 
				 
			
				
					
						
							
							
								David Greene 
							
						 
					 
					
						
						
							
						
						5d93a1fb36 
					 
					
						
						
							
							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 
						
						
					 
					
						2009-12-23 20:43:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d6add155a7 
					 
					
						
						
							
							typo spotted by duncan.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88884  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-16 03:51:42 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						800c47ec10 
					 
					
						
						
							
							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 
						
						
					 
					
						2009-11-15 20:02:12 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5553a3a510 
					 
					
						
						
							
							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 
						
						
					 
					
						2009-11-15 20:01:24 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e5642812d3 
					 
					
						
						
							
							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 
						
						
					 
					
						2009-11-15 20:00:52 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2c5adf832a 
					 
					
						
						
							
							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 
						
						
					 
					
						2009-11-15 19:59:49 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f496e79f44 
					 
					
						
						
							
							various fixes to the lattice transfer functions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86952  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-12 04:57:13 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b52675b643 
					 
					
						
						
							
							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 
						
						
					 
					
						2009-11-12 04:36:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						38392bbeb8 
					 
					
						
						
							
							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 
						
						
					 
					
						2009-11-12 01:29:10 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b8c124c343 
					 
					
						
						
							
							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 
						
						
					 
					
						2009-11-12 01:22:16 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1697652922 
					 
					
						
						
							
							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 
						
						
					 
					
						2009-11-11 22:48:44 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						cc4d3b25f3 
					 
					
						
						
							
							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 
						
						
					 
					
						2009-11-11 02:08:33 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						10f2d13d58 
					 
					
						
						
							
							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 
						
						
					 
					
						2009-11-11 00:22:30 +00:00