Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								bf0aa927cc 
								
							 
						 
						
							
							
								
								split dom frontier handling stuff out to its own DominanceFrontier header,  
							
							 
							
							... 
							
							
							
							so that Dominators.h is *just* domtree.  Also prune #includes a bit.
llvm-svn: 122714 
							
						 
						
							2011-01-02 22:09:33 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								a4fcd2418d 
								
							 
						 
						
							
							
								
								Move Value::getUnderlyingObject to be a standalone  
							
							 
							
							... 
							
							
							
							function so that it can live in Analysis instead of
VMCore.
llvm-svn: 121885 
							
						 
						
							2010-12-15 20:02:24 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								704e7c2332 
								
							 
						 
						
							
							
								
								Minimally update this code to handle PartialAlias.  
							
							 
							
							... 
							
							
							
							llvm-svn: 121518 
							
						 
						
							2010-12-10 20:14:49 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								afd6db9932 
								
							 
						 
						
							
							
								
								Move SCEV::isLoopInvariant and hasComputableLoopEvolution to be member  
							
							 
							
							... 
							
							
							
							functions of ScalarEvolution, in preparation for memoization and
other optimizations.
llvm-svn: 119562 
							
						 
						
							2010-11-17 21:23:15 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								8ac477ffb5 
								
							 
						 
						
							
							
								
								Begin adding static dependence information to passes, which will allow us to  
							
							 
							
							... 
							
							
							
							perform initialization without static constructors AND without explicit initialization
by the client.  For the moment, passes are required to initialize both their
(potential) dependencies and any passes they preserve.  I hope to be able to relax
the latter requirement in the future.
llvm-svn: 116334 
							
						 
						
							2010-10-12 19:48:12 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								df7a4f2515 
								
							 
						 
						
							
							
								
								Now with fewer extraneous semicolons!  
							
							 
							
							... 
							
							
							
							llvm-svn: 115996 
							
						 
						
							2010-10-07 22:25:06 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								a57b97e7e7 
								
							 
						 
						
							
							
								
								Fix batch of converting RegisterPass<> to INTIALIZE_PASS().  
							
							 
							
							... 
							
							
							
							llvm-svn: 109045 
							
						 
						
							2010-07-21 22:09:45 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								01c65a2622 
								
							 
						 
						
							
							
								
								Define placement new wrappers for BumpPtrAllocator and  
							
							 
							
							... 
							
							
							
							RecyclingAllocator to allow client code to be simpler, and
simplify several clients.
llvm-svn: 98847 
							
						 
						
							2010-03-18 18:49:47 +00:00  
						
					 
				
					
						
							
							
								 
								David Greene
							
						 
						
							 
							
							
							
							
								
							
							
								9507879bca 
								
							 
						 
						
							
							
								
								Convert debug messages to use dbgs().  Generally this means  
							
							 
							
							... 
							
							
							
							s/errs/dbgs/g except for certain special cases.
llvm-svn: 92042 
							
						 
						
							2009-12-23 20:52:41 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								13d62b60bd 
								
							 
						 
						
							
							
								
								remove a few dead insertion methods.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79882 
							
						 
						
							2009-08-24 02:39:26 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								55f1c09e31 
								
							 
						 
						
							
							
								
								Push LLVMContexts through the IntegerType APIs.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78948 
							
						 
						
							2009-08-13 21:58:54 +00:00  
						
					 
				
					
						
							
							
								 
								Andreas Bolka
							
						 
						
							 
							
							
							
							
								
							
							
								2f7562c83e 
								
							 
						 
						
							
							
								
								SIV/MIV classification for LDA.  
							
							 
							
							... 
							
							
							
							LoopDependenceAnalysis::getLoops is currently O(N*M) for a loop-nest of
depth N and a compound SCEV of M atomic SCEVs. As both N and M will
typically be very small, this should not be a problem. If it turns out
to be one, rewriting getLoops as SCEVVisitor will reduce complexity to
O(M).
llvm-svn: 78394 
							
						 
						
							2009-08-07 18:23:41 +00:00  
						
					 
				
					
						
							
							
								 
								Andreas Bolka
							
						 
						
							 
							
							
							
							
								
							
							
								3c7b95d9aa 
								
							 
						 
						
							
							
								
								Simplify the ZIV tester to the max.  
							
							 
							
							... 
							
							
							
							As suggested by Nick Lewycky.
llvm-svn: 78277 
							
						 
						
							2009-08-06 03:10:33 +00:00  
						
					 
				
					
						
							
							
								 
								Andreas Bolka
							
						 
						
							 
							
							
							
							
								
							
							
								13b860992a 
								
							 
						 
						
							
							
								
								ZIV tester for LDA.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78157 
							
						 
						
							2009-08-05 04:26:05 +00:00  
						
					 
				
					
						
							
							
								 
								Andreas Bolka
							
						 
						
							 
							
							
							
							
								
							
							
								d3a44b52c6 
								
							 
						 
						
							
							
								
								Restrict LDA to GEPs with the same pointer offset.  
							
							 
							
							... 
							
							
							
							We can not simply apply ZIV testing to the pointer offsets, as this
would incorrectly return independence for e.g. (GEP x,0,i; GEP x,1,-i).
llvm-svn: 78155 
							
						 
						
							2009-08-05 04:13:41 +00:00  
						
					 
				
					
						
							
							
								 
								Andreas Bolka
							
						 
						
							 
							
							
							
							
								
							
							
								c833d017c7 
								
							 
						 
						
							
							
								
								Restrict LDA to affine subscripts.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77932 
							
						 
						
							2009-08-03 01:03:48 +00:00  
						
					 
				
					
						
							
							
								 
								Andreas Bolka
							
						 
						
							 
							
							
							
							
								
							
							
								31d9fa2ad1 
								
							 
						 
						
							
							
								
								Equal SCEVs of a subscript give rise to dependence.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77570 
							
						 
						
							2009-07-30 02:26:01 +00:00  
						
					 
				
					
						
							
							
								 
								Andreas Bolka
							
						 
						
							 
							
							
							
							
								
							
							
								43797d15fa 
								
							 
						 
						
							
							
								
								Skeleton for pairwise subscript testing.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77437 
							
						 
						
							2009-07-29 05:35:53 +00:00  
						
					 
				
					
						
							
							
								 
								Andreas Bolka
							
						 
						
							 
							
							
							
							
								
							
							
								f1bd1edc11 
								
							 
						 
						
							
							
								
								Simplify LDA-internal interface.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77359 
							
						 
						
							2009-07-28 19:50:13 +00:00  
						
					 
				
					
						
							
							
								 
								Andreas Bolka
							
						 
						
							 
							
							
							
							
								
							
							
								44623bb9b2 
								
							 
						 
						
							
							
								
								Add LDA statistics.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77358 
							
						 
						
							2009-07-28 19:49:49 +00:00  
						
					 
				
					
						
							
							
								 
								Andreas Bolka
							
						 
						
							 
							
							
							
							
								
							
							
								0e263ce8af 
								
							 
						 
						
							
							
								
								Minor factoring, naming and formatting cleanups.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77357 
							
						 
						
							2009-07-28 19:49:25 +00:00  
						
					 
				
					
						
							
							
								 
								Andreas Bolka
							
						 
						
							 
							
							
							
							
								
							
							
								8377af0296 
								
							 
						 
						
							
							
								
								Convert DOUT to DEBUG.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77065 
							
						 
						
							2009-07-25 12:19:58 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								43d19d61d4 
								
							 
						 
						
							
							
								
								Make AliasAnalysis and related classes use  
							
							 
							
							... 
							
							
							
							getAnalysisIfAvailable<TargetData>().
llvm-svn: 77028 
							
						 
						
							2009-07-25 00:48:42 +00:00  
						
					 
				
					
						
							
							
								 
								Andreas Bolka
							
						 
						
							 
							
							
							
							
								
							
							
								c76c723e25 
								
							 
						 
						
							
							
								
								Forward-declare raw_ostream.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77014 
							
						 
						
							2009-07-24 23:19:28 +00:00  
						
					 
				
					
						
							
							
								 
								Andreas Bolka
							
						 
						
							 
							
							
							
							
								
							
							
								c8cd3f6959 
								
							 
						 
						
							
							
								
								Cache dependence computation using FoldingSet.  
							
							 
							
							... 
							
							
							
							This introduces an LDA-internal DependencePair class. The intention is,
that this is a place where dependence testers can store various results
such as SCEVs describing conflicting iterations, breaking conditions,
distance/direction vectors, etc.
llvm-svn: 76877 
							
						 
						
							2009-07-23 14:32:46 +00:00  
						
					 
				
					
						
							
							
								 
								Andreas Bolka
							
						 
						
							 
							
							
							
							
								
							
							
								897e68c660 
								
							 
						 
						
							
							
								
								Minor cosmetics: indentation, formatting, naming.  
							
							 
							
							... 
							
							
							
							llvm-svn: 76839 
							
						 
						
							2009-07-23 01:57:06 +00:00  
						
					 
				
					
						
							
							
								 
								Torok Edwin
							
						 
						
							 
							
							
							
							
								
							
							
								fbcc663cbf 
								
							 
						 
						
							
							
								
								llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.  
							
							 
							
							... 
							
							
							
							This adds location info for all llvm_unreachable calls (which is a macro now) in
!NDEBUG builds.
In NDEBUG builds location info and the message is off (it only prints
"UREACHABLE executed").
llvm-svn: 75640 
							
						 
						
							2009-07-14 16:55:14 +00:00  
						
					 
				
					
						
							
							
								 
								Torok Edwin
							
						 
						
							 
							
							
							
							
								
							
							
								56d0659726 
								
							 
						 
						
							
							
								
								assert(0) -> LLVM_UNREACHABLE.  
							
							 
							
							... 
							
							
							
							Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.
llvm-svn: 75379 
							
						 
						
							2009-07-11 20:10:48 +00:00  
						
					 
				
					
						
							
							
								 
								Andreas Bolka
							
						 
						
							 
							
							
							
							
								
							
							
								1cd3fd6336 
								
							 
						 
						
							
							
								
								Minor improvement to the LDA debug output.  
							
							 
							
							... 
							
							
							
							llvm-svn: 74754 
							
						 
						
							2009-07-03 01:42:52 +00:00  
						
					 
				
					
						
							
							
								 
								Andreas Bolka
							
						 
						
							 
							
							
							
							
								
							
							
								394b4156cf 
								
							 
						 
						
							
							
								
								Use AA to check objects before LDA.  
							
							 
							
							... 
							
							
							
							llvm-svn: 74647 
							
						 
						
							2009-07-01 21:45:23 +00:00  
						
					 
				
					
						
							
							
								 
								Andreas Bolka
							
						 
						
							 
							
							
							
							
								
							
							
								9541801105 
								
							 
						 
						
							
							
								
								Array accesses are independent if the underlying arrays differ.  
							
							 
							
							... 
							
							
							
							llvm-svn: 74499 
							
						 
						
							2009-06-30 02:12:10 +00:00  
						
					 
				
					
						
							
							
								 
								Andreas Bolka
							
						 
						
							 
							
							
							
							
								
							
							
								6037bc9e60 
								
							 
						 
						
							
							
								
								Relax LDA memory instruction checks.  
							
							 
							
							... 
							
							
							
							llvm-svn: 74439 
							
						 
						
							2009-06-29 18:51:11 +00:00  
						
					 
				
					
						
							
							
								 
								Andreas Bolka
							
						 
						
							 
							
							
							
							
								
							
							
								3a09c8bd5e 
								
							 
						 
						
							
							
								
								Missed one.  
							
							 
							
							... 
							
							
							
							llvm-svn: 74416 
							
						 
						
							2009-06-29 00:53:49 +00:00  
						
					 
				
					
						
							
							
								 
								Andreas Bolka
							
						 
						
							 
							
							
							
							
								
							
							
								c5558a83f4 
								
							 
						 
						
							
							
								
								Fix case in LDA util function names.  
							
							 
							
							... 
							
							
							
							llvm-svn: 74415 
							
						 
						
							2009-06-29 00:50:26 +00:00  
						
					 
				
					
						
							
							
								 
								Andreas Bolka
							
						 
						
							 
							
							
							
							
								
							
							
								9d09e20142 
								
							 
						 
						
							
							
								
								Print pairwise dependence results, add testcases.  
							
							 
							
							... 
							
							
							
							llvm-svn: 74402 
							
						 
						
							2009-06-28 00:35:22 +00:00  
						
					 
				
					
						
							
							
								 
								Andreas Bolka
							
						 
						
							 
							
							
							
							
								
							
							
								9fee7f86ad 
								
							 
						 
						
							
							
								
								Minimal LDA interface, maximally conservative tester.  
							
							 
							
							... 
							
							
							
							llvm-svn: 74401 
							
						 
						
							2009-06-28 00:21:21 +00:00  
						
					 
				
					
						
							
							
								 
								Andreas Bolka
							
						 
						
							 
							
							
							
							
								
							
							
								8976d3bc7e 
								
							 
						 
						
							
							
								
								LDA analysis output scaffolding.  
							
							 
							
							... 
							
							
							
							llvm-svn: 74400 
							
						 
						
							2009-06-28 00:16:08 +00:00  
						
					 
				
					
						
							
							
								 
								Andreas Bolka
							
						 
						
							 
							
							
							
							
								
							
							
								8c7e299270 
								
							 
						 
						
							
							
								
								Scaffolding for LDA pass.  
							
							 
							
							... 
							
							
							
							llvm-svn: 74120 
							
						 
						
							2009-06-24 21:29:13 +00:00