Cameron Zwarich 
							
						 
					 
					
						
						
							
						
						419e8a6299 
					 
					
						
						
							
							Roll r123609 back in with two changes that fix test failures with expensive  
						
						... 
						
						
						
						checks enabled:
1) Use '<' to compare integers in a comparison function rather than '<='.
2) Use the uniqued set DefBlocks rather than Info.DefiningBlocks to initialize
the priority queue.
The speedup of scalarrepl on test-suite + SPEC2000 + SPEC2006 is a bit less, at
just under 16% rather than 17%.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123662  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-17 17:38:41 +00:00 
						 
				 
			
				
					
						
							
							
								Cameron Zwarich 
							
						 
					 
					
						
						
							
						
						b1086a9c6d 
					 
					
						
						
							
							Roll out r123609 due to failures on the llvm-x86_64-linux-checks bot.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123618  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-17 07:26:51 +00:00 
						 
				 
			
				
					
						
							
							
								Cameron Zwarich 
							
						 
					 
					
						
						
							
						
						ebed6de7b1 
					 
					
						
						
							
							Eliminate the use of dominance frontiers in PromoteMemToReg. In addition to  
						
						... 
						
						
						
						eliminating a potentially quadratic data structure, this also gives a 17%
speedup when running -scalarrepl on test-suite + SPEC2000 + SPEC2006. My initial
experiment gave a greater speedup around 25%, but I moved the dominator tree
level computation from dominator tree construction to PromoteMemToReg.
Since this approach to computing IDFs has a much lower overhead than the old
code using precomputed DFs, it is worth looking at using this new code for the
second scalarrepl pass as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123609  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-17 01:08:59 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						ce2c51b670 
					 
					
						
						
							
							Pull LLVMContext out of PromoteMemToReg.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89645  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-23 03:50:44 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						12ddd40953 
					 
					
						
						
							
							Make LLVMContext and LLVMContextImpl classes instead of structs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78690  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-11 17:45:13 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						48b2f3e485 
					 
					
						
						
							
							Factor some of the constants+context related code out into a separate header, to make LLVMContextImpl.h  
						
						... 
						
						
						
						not hideous.  Also, fix some MSVC compile errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78115  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-04 22:41:48 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						e922c02019 
					 
					
						
						
							
							Get rid of the Pass+Context magic.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76702  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-22 00:24:57 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						07cf79ef53 
					 
					
						
						
							
							"LLVMContext* " --> "LLVMContext *"  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74878  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-06 23:00:19 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						0a205a4598 
					 
					
						
						
							
							More LLVMContext-ification.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74807  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-05 22:41:43 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7ed47a1335 
					 
					
						
						
							
							Don't attribute in file headers anymore.  See llvmdev for the  
						
						... 
						
						
						
						discussion of this change.  Boy are my fingers tired. ;-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-29 19:59:42 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						326821ef12 
					 
					
						
						
							
							Use DominatorTree instead of ETForest.  
						
						... 
						
						
						
						This allows faster immediate domiantor walk.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37500  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-07 21:57:03 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						c20a64d2bb 
					 
					
						
						
							
							Mem2Reg does not need TargetData.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36446  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-25 18:41:11 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						41968df51e 
					 
					
						
						
							
							Remove unused function argument.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36441  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-25 17:15:20 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						df07335b46 
					 
					
						
						
							
							Move more passes to using ETForest instead of DominatorTree.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36271  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-20 06:27:13 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						d41b30def3 
					 
					
						
						
							
							Unbreak VC++ build.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31464  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-05 19:31:28 +00:00 
						 
				 
			
				
					
						
							
							
								Misha Brukman 
							
						 
					 
					
						
						
							
						
						34695381d6 
					 
					
						
						
							
							Remove trailing whitespace  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21412  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-21 20:59:05 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1fca5ff62b 
					 
					
						
						
							
							Convert 'struct' to 'class' in various places to adhere to the coding standards  
						
						... 
						
						
						
						and work better with VC++.  Patch contributed by Morten Ofstad!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17281  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-10-27 16:14:51 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7f820b157d 
					 
					
						
						
							
							Add an optional argument to PromoteMemToReg  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16346  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-09-15 01:02:30 +00:00 
						 
				 
			
				
					
						
							
							
								Brian Gaeke 
							
						 
					 
					
						
						
							
						
						d0fde30ce8 
					 
					
						
						
							
							Put all LLVM code into the llvm namespace, as per bug 109.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-11-11 22:41:34 +00:00 
						 
				 
			
				
					
						
							
							
								John Criswell 
							
						 
					 
					
						
						
							
						
						6fbcc26f14 
					 
					
						
						
							
							Added LLVM copyright header (for lack of a better term).  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-10-20 20:19:47 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						43f820d1f7 
					 
					
						
						
							
							Change the interface to PromoteMemToReg to also take a DominatorTree  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8883  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-10-05 21:20:13 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						fb743a937f 
					 
					
						
						
							
							Change the mem2reg interface to accept a TargetData argument  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5685  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-03-03 17:25:18 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						782752b7a2 
					 
					
						
						
							
							Add a new interface file for the PromoteMemToReg interface in the Utils library  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5609  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-02-22 23:04:52 +00:00