Dan Gohman 
							
						 
					 
					
						
						
							
						
						c9d8a75e44 
					 
					
						
						
							
							Re-disable TBAA for now; it broke MultiSource/Applications/JM/lencod,  
						
						... 
						
						
						
						at least.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118890  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-12 11:21:08 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						b238536ada 
					 
					
						
						
							
							Enable TBAA.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118884  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-12 06:20:01 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						42c31a7073 
					 
					
						
						
							
							Make ModRefBehavior a lattice. Use this to clean up AliasAnalysis  
						
						... 
						
						
						
						chaining and simplify FunctionAttrs' GetModRefBehavior logic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118660  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-10 01:02:18 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						a8598bec28 
					 
					
						
						
							
							Implement getModRefBehavior for TypeBasedAliasAnalysis.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118416  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-08 17:10:22 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						a25e5dbcc2 
					 
					
						
						
							
							Extend the AliasAnalysis::pointsToConstantMemory interface to allow it  
						
						... 
						
						
						
						to optionally look for constant or local (alloca) memory.
Teach BasicAliasAnalysis::pointsToConstantMemory to look through Select
and Phi nodes, and to support looking for local memory.
Remove FunctionAttrs' PointsToLocalOrConstantMemory function, now that
AliasAnalysis knows all the tricks that it knew.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118412  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-08 16:45:26 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						87c5c2f069 
					 
					
						
						
							
							Support TBAA attachments on calls. This is somewhat experimental.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117317  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-25 21:38:20 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						0b2136927d 
					 
					
						
						
							
							Fix chaining in TBAA's pointsToConstantMemory.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117314  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-25 21:24:55 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						ae92af6771 
					 
					
						
						
							
							Only read one bit for testing for a readonly type, leaving the other  
						
						... 
						
						
						
						bits open for future uses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117301  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-25 20:22:29 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						269008ee83 
					 
					
						
						
							
							Add a comment.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117288  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-25 19:47:25 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						ee135131b1 
					 
					
						
						
							
							Add some more documentation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117070  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-21 21:55:35 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						bc078c81e6 
					 
					
						
						
							
							Explain what "constant" means here.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117053  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-21 19:45:09 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						de38897cfc 
					 
					
						
						
							
							Update comments.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117048  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-21 19:01:22 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						ba13864483 
					 
					
						
						
							
							Factor out the main aliasing check into a separate function.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116958  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-20 22:11:14 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						0b62f95ea8 
					 
					
						
						
							
							Fix comments; the type graph is currently a tree, not a DAG.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116954  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-20 22:02:58 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						081c34b725 
					 
					
						
						
							
							Get rid of static constructors for pass registration.  Instead, every pass exposes an initializeMyPassFunction(), which  
						
						... 
						
						
						
						must be called in the pass's constructor.  This function uses static dependency declarations to recursively initialize
the pass's dependencies.
Clients that only create passes through the createFooPass() APIs will require no changes.  Clients that want to use the
CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h
before parsing commandline arguments.
I have tested this with all standard configurations of clang and llvm-gcc on Darwin.  It is possible that there are problems
with the static dependencies that will only be visible with non-standard options.  If you encounter any crash in pass
registration/creation, please send the testcase to me directly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116820  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-19 17:21:58 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						01b58f637c 
					 
					
						
						
							
							Make TypeBasedAliasAnalysis default to doing nothing, with a command-line  
						
						... 
						
						
						
						option to enable it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116722  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-18 18:17:47 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						acf50f5136 
					 
					
						
						
							
							Use chaining in TypeBasedAliasAnalysis::pointsToConstantMemory.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116721  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-18 18:10:31 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						c05d8aa6db 
					 
					
						
						
							
							Tolerate a null parent pointer.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116533  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-14 22:55:57 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						633e702317 
					 
					
						
						
							
							Support AA chaining.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116264  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-11 23:39:34 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						ce665bd2e2 
					 
					
						
						
							
							Now with fewer extraneous semicolons!  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115996  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-07 22:25:06 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						e6291ae96e 
					 
					
						
						
							
							Convert TBAA to use the new TBAATag field of AliasAnalysis::Location.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113892  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-14 23:28:12 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						b2143b6247 
					 
					
						
						
							
							Remove the experimental AliasAnalysis::getDependency interface, which  
						
						... 
						
						
						
						isn't a good level of abstraction for memdep. Instead, generalize
AliasAnalysis::alias and related interfaces with a new Location
class for describing a memory location. For now, this is the same
Pointer and Size as before, plus an additional field for a TBAA tag.
Also, introduce a fixed MD_tbaa metadata tag kind.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113858  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-14 21:25:10 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						90c579de5a 
					 
					
						
						
							
							Reapply r110396, with fixes to appease the Linux buildbot gods.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110460  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-06 18:33:48 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						1f74590e9d 
					 
					
						
						
							
							Revert r110396 to fix buildbots.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110410  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-06 00:23:35 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						9ccaf53ada 
					 
					
						
						
							
							Don't use PassInfo* as a type identifier for passes.  Instead, use the address of the static  
						
						... 
						
						
						
						ID member as the sole unique type identifier.  Clean up APIs related to this change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110396  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-05 23:42:04 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						84b8ad321b 
					 
					
						
						
							
							Fix a typo Devang noticed.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110115  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-03 16:48:31 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						c182cb5784 
					 
					
						
						
							
							Sketch up a preliminary Type-Based Alias Analysis implementation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110077  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-02 23:11:01 +00:00