Owen Anderson 
							
						 
					 
					
						
						
							
						
						124084604d 
					 
					
						
						
							
							Avoid excessive calls to find_leader when calculating AVAIL_OUT.  This reduces the time to optimize 403.gcc from 23.5s to 21.9s.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37702  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-22 03:14:03 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						e8138ffeaf 
					 
					
						
						
							
							Reserve space in vectors before topologically sorting into them.  This improves the time to optimize 403.gcc from 28s to 23.5s.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37699  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-22 00:43:22 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						82575d8ab1 
					 
					
						
						
							
							Make a bunch of optimizations for compile time to GVNPRE, including smarter set unions, deferring blocks rather than computing maximal sets, and smarter use of sets.  With these enhancements, the time to optimize 273.perlbmk goes from 5.3s to 2.7s.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37698  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-22 00:20:30 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						66fd906074 
					 
					
						
						
							
							Change lots of sets from std::set to SmallPtrSet.  This reduces the time required to optimize 253.perlbmk from 10.9s to 5.3s.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37690  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-21 17:57:53 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						58e087b6e3 
					 
					
						
						
							
							Eliminate a redundant check.  This speeds up optimization of 253.perlbmk from 13.5 seconds to 10.9 seconds.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37683  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-21 01:59:05 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						9cb56014ce 
					 
					
						
						
							
							Comment-ize the functions in GVNPRE.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37681  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-21 00:19:05 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						3eaca716bf 
					 
					
						
						
							
							Split runOnFunction into many smaller functions.  This make it easier to get accurate performance analysis of GVNPRE.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37678  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-20 22:10:02 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						0304b2bc2b 
					 
					
						
						
							
							Make GVNPRE accurate report whether it modified the function or not.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37673  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-20 18:30:20 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						5dbea73e35 
					 
					
						
						
							
							Get rid of an unneeded helper function.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37670  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-20 00:43:33 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						4f703ec0a1 
					 
					
						
						
							
							Use a DenseMap instead of an std::map for the value numbering.  This reduces the time to optimize lencod on a PPC Debug build from ~300s to ~140s.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37668  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-19 23:23:54 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						52471b102c 
					 
					
						
						
							
							Make dependsOnInvoke much more specific in what it tests, which in turn make it much faster to run.  This reduces the time to optimize lencondwith a debug build on PPC from ~450s to ~300s.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37667  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-19 23:07:16 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						d0954105f0 
					 
					
						
						
							
							Handle constants in phi nodes properly.  This fixes test/Transforms/GVNPRE/2007-06-18-ConstantInPhi.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37655  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-19 07:35:36 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						20cb51fda4 
					 
					
						
						
							
							Be careful to erase values from all of the appropriate sets when they're not needed anymore.  This fixes a few more memory-related issues.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37647  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-19 05:37:32 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						6cae7409b1 
					 
					
						
						
							
							Remember to clear the maximal sets between functions.  
						
						... 
						
						
						
						Thanks to Nicholas for valgrinding this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37646  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-19 04:32:55 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						086f5f350b 
					 
					
						
						
							
							Refactor GVNPRE to use a much smart method of uniquing value sets, and centralize a lot of the value numbering information.  No functionality change.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37645  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-19 03:31:41 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						bbf1197be1 
					 
					
						
						
							
							Cache the results of dependsOnInvoke()  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37622  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-18 04:42:29 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						a8daa7176b 
					 
					
						
						
							
							Fix indentation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37621  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-18 04:31:21 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						60e174495a 
					 
					
						
						
							
							Don't perform an expensive check if it's not necessary.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37620  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-18 04:30:44 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						32bc789b6c 
					 
					
						
						
							
							Fix test/Transforms/GVNPRE/2007-06-15-InvokeInst.ll by ignoring all instructions that depend on invokes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37610  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-16 00:26:54 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						383bcb2e78 
					 
					
						
						
							
							Fix test/Transforms/GVNPRE/2007-06-15-Looping.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37595  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-15 17:55:15 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						71fcebcf8a 
					 
					
						
						
							
							Fix test/Transforms/GVNPRE/2007-06-12-PhiTranslate.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37564  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-12 22:43:57 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						239e71201e 
					 
					
						
						
							
							Refactor some code, and fix test/Transforms/GVNPRE/2007-06-12-NoExit.ll by being more careful when using  
						
						... 
						
						
						
						post-dominator information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37556  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-12 16:57:50 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						65d2862a60 
					 
					
						
						
							
							Fix a few more bugs, including an instance of walking in reverse topological rather than topological order.  This  
						
						... 
						
						
						
						fixes a testcase extracted from llvm-test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37550  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-12 00:50:47 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						0e71466405 
					 
					
						
						
							
							Handle functions with multiple exit blocks properly.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37539  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-11 16:25:17 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						139fe848a2 
					 
					
						
						
							
							Perform PRE of comparison operators.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37536  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-09 18:35:31 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						b8b873cb7d 
					 
					
						
						
							
							Collect statistics from GVN-PRE.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37530  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-08 22:02:36 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						a7f916cf89 
					 
					
						
						
							
							Fix typo in a comment.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37526  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-08 20:57:08 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						8338ff5ff1 
					 
					
						
						
							
							Fix a bug that was causing the elimination phase not to replace values when it should be.  
						
						... 
						
						
						
						With this patch, GVN-PRE now correctly optimizes the example from the thesis.
Many thanks to Daniel Berlin for helping me find errors in this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37525  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-08 20:44:02 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						900997ba3b 
					 
					
						
						
							
							Small bugfix, and const-ify some methods (Thanks, Bill).  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37513  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-08 01:52:45 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						397d405731 
					 
					
						
						
							
							Add partial redundancy elimination.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37510  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-08 01:03:01 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						12112af5e8 
					 
					
						
						
							
							Add simple full redundancy elimination.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37455  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-06 01:27:49 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						1d4eb6ab0d 
					 
					
						
						
							
							Fix a misunderstanding of the algorithm.  Really, we should be tracking values  
						
						... 
						
						
						
						and expression separately.  We can get around this, however, by only keeping
opaque values in TMP_GEN.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37443  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-05 23:46:12 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						8f862c80bc 
					 
					
						
						
							
							Don't leak memory.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37442  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-05 22:11:49 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						359208032b 
					 
					
						
						
							
							Fix a small bug, some 80 cols violations, and add some more debugging output.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37436  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-05 17:31:23 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						dbc705b73f 
					 
					
						
						
							
							Don't use std::set_difference when the two sets are sorted differently.  Compute  
						
						... 
						
						
						
						the difference manually instead.
This allows GVNPRE to produce correct analysis for the example in the GVNPRE
paper.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37425  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-04 23:34:56 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						082fe7185e 
					 
					
						
						
							
							Fix a bunch of small bugs, and improve the debugging output significantly.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37424  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-04 23:28:33 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						5ea069fdda 
					 
					
						
						
							
							Make phi_translate correct.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37418  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-04 18:05:26 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						26042420d6 
					 
					
						
						
							
							s/llvm::DominatorTreeBase::DomTreeNode/llvm::DomTreeNode/g  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37407  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-04 00:32:22 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						0fa6b37c6f 
					 
					
						
						
							
							Don't use the custom comparator where it's not necessary.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37406  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-03 22:02:14 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						bec7647f98 
					 
					
						
						
							
							s/DominatorTreeBase::Node/DominatorTreeBase:DomTreeNode/g  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37403  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-03 06:26:14 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						10ac137d0b 
					 
					
						
						
							
							Remove an unused method.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37402  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-03 05:58:25 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						a724ac1a73 
					 
					
						
						
							
							There's no need to have an Expression class... Value works just as well!  This simplifies a lot of code.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37401  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-03 05:55:58 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						aa7d3351f0 
					 
					
						
						
							
							clean() needs to process things in topological order.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37389  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-01 22:00:37 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						8e21fb7df8 
					 
					
						
						
							
							Fix Expression comparison, which in turn fixes a value numbering error.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37386  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-01 17:34:47 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						243f348c2a 
					 
					
						
						
							
							Add a topological sort function.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37376  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-31 22:44:11 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						8214d50338 
					 
					
						
						
							
							Attempt to fix up phi_translate.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37366  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-31 00:42:15 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						2c0c51593d 
					 
					
						
						
							
							Fix a typo  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37350  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-29 23:34:14 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						e3072b292f 
					 
					
						
						
							
							Re-fix a bug, where I was now being too aggressive.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37348  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-29 23:26:30 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						cdf8efde6a 
					 
					
						
						
							
							Use proper debugging facilities so other people don't have to look at my commented-out  
						
						... 
						
						
						
						debugging lines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37347  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-29 23:15:21 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						9b6bd12ef0 
					 
					
						
						
							
							Comment debug code out that I accidentally uncommented last time.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37346  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-29 22:43:03 +00:00