Owen Anderson 
							
						 
					 
					
						
						
							
						
						46b58f7869 
					 
					
						
						
							
							Expunge DomSet from LoadValueNumbering.  This is part of the continuing  
						
						... 
						
						
						
						work on PR1171.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35723  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-07 04:43:07 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						d7d83db5f2 
					 
					
						
						
							
							Make classes in anonymous namespaces use VISIBILITY_HIDDEN to help reduce  
						
						... 
						
						
						
						LLVM's footprint and speed up linking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33941  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-05 23:42:17 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a5370172b6 
					 
					
						
						
							
							simplify AnalysisGroup registration, eliminating one typeid call.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29932  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-28 00:42:29 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7f8897f22e 
					 
					
						
						
							
							eliminate RegisterOpt.  It does the same thing as RegisterPass.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29925  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-27 22:42:52 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						10673b63b0 
					 
					
						
						
							
							Fix a problem exposed by the et-forest work.  Load-vn needs these passes live  
						
						... 
						
						
						
						whenever it is live, not just when load-vn is computed initially
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25146  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-08 09:10:04 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						c826aea982 
					 
					
						
						
							
							the correct fix was to fix AliasAnalysis.getModRefInfo  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22268  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-06-20 15:25:22 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						e3e1739b7d 
					 
					
						
						
							
							prevent GCSE from forwarding stores to loads around vaarg.  This is uggly, and I am trying to fix the AliasInfo, as it should catch the problem instead.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22266  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-06-20 15:02:05 +00:00 
						 
				 
			
				
					
						
							
							
								Misha Brukman 
							
						 
					 
					
						
						
							
						
						2b37d7cf28 
					 
					
						
						
							
							Remove trailing whitespace  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21416  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-21 21:13:18 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3725c12b26 
					 
					
						
						
							
							Due to previous simplifications, we can simplify the data structures being  
						
						... 
						
						
						
						used here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19913  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-29 07:04:10 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ee379a16ee 
					 
					
						
						
							
							Properly handle volatile.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19912  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-29 06:42:34 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4f16bd7a74 
					 
					
						
						
							
							Remove some useless map operations.  Loads/stores that are in the same  
						
						... 
						
						
						
						BB as the load are not included in the Cand* sets at all.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19911  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-29 06:39:25 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						15774df4d3 
					 
					
						
						
							
							Before doing expensive global analysis, check to make sure the pointer is  
						
						... 
						
						
						
						not invalidated on entry and on exit of the block.  This fixes some N^2
behavior in common cases, and speeds up gcc another 5% to 22.35s.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19910  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-29 06:31:53 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e212d62a34 
					 
					
						
						
							
							Minor simplification/speedup.  Replaces a set lookup with a pointer comparison.  
						
						... 
						
						
						
						This speeds up 176.gcc from 25.73s to 23.48s, which is 9.5%
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19907  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-29 06:20:55 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e233b8c64b 
					 
					
						
						
							
							Eliminate generality that is not buying us anything.  In particular, this  
						
						... 
						
						
						
						will cause us to miss cases where the input pointer to a load could be value
numbered to another load.  Something like this:
  %X = load int* %P1
  %Y = load int* %P2
Those are obviously the same if P1/P2 are the same.  The code this patch
removes attempts to handle that.  However, since GCSE iterates, this doesn't
actually buy us anything: GCSE will first replace P1 or P2 with the other
one, then the load can be value numbered as equal.
Removing this code speeds up gcse a lot.  On 176.gcc in debug mode, this
speeds up gcse from 29.08s -> 25.73s, a 13% savings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19906  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-29 06:11:16 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2652da6af9 
					 
					
						
						
							
							If we see:  
						
						... 
						
						
						
						%A = alloca int
  %V = load int* %A
value number %V to undef, not 0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19905  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-29 05:57:01 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						fd4b3c4774 
					 
					
						
						
							
							Eliminate a virtual method call  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18964  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-12-15 18:14:04 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						20aa474f8f 
					 
					
						
						
							
							Fixes to make LLVM compile with vc7.1.  
						
						... 
						
						
						
						Patch contributed by Paolo Invernizzi!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16152  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-09-03 18:19:51 +00:00 
						 
				 
			
				
					
						
							
							
								Misha Brukman 
							
						 
					 
					
						
						
							
						
						47b14a4a6a 
					 
					
						
						
							
							Fix #includes of i*.h => Instructions.h as per PR403.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15334  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-07-29 17:30:56 +00:00 
						 
				 
			
				
					
						
							
							
								Brian Gaeke 
							
						 
					 
					
						
						
							
						
						96d4bf7aee 
					 
					
						
						
							
							Make the create...() functions for some of these passes return a FunctionPass *.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15276  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-07-27 17:43:21 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						0f312d6998 
					 
					
						
						
							
							Implement the interfaces to update value numbering information.  Add an  
						
						... 
						
						
						
						assert.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13679  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-05-23 21:13:24 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5da80974c0 
					 
					
						
						
							
							Implement test/Regression/Transforms/GCSE/undefined_load.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12641  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-04-03 00:45:16 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						002be76733 
					 
					
						
						
							
							Add some missing functions.  Make sure to handle calls together in case the  
						
						... 
						
						
						
						client has another VN implementation that can VN calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12427  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-03-16 03:41:35 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5a6e947f1d 
					 
					
						
						
							
							Implement CSE of call instructions in the most trivial case.  This implements  
						
						... 
						
						
						
						GCSE/call_cse.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12419  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-03-15 05:44:59 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3b303d91d7 
					 
					
						
						
							
							In a "seeing the forest through the trees" kinda situation, I realized that a  
						
						... 
						
						
						
						complete rewrite of load-vn will make it a bit faster.  This changes speeds up
the gcse pass (which uses load-vn) from 25.45s to 0.42s on the testcase in
PR209.
I've also verified that this gives the exact same results as the old one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11132  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-05 17:20:00 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						57ef9a2392 
					 
					
						
						
							
							This is a big diff with no functionality change.  We just reorder some code,  
						
						... 
						
						
						
						which causes big reindentation.  While I'm at it, I fix the fixme by removing
some dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11131  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-05 05:56:23 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						270db367e0 
					 
					
						
						
							
							finegrainify namespacification  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11130  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-05 05:51:40 +00:00 
						 
				 
			
				
					
						
							
							
								Tanya Lattner 
							
						 
					 
					
						
						
							
						
						1ad5bc5616 
					 
					
						
						
							
							Fixed Chris' typo.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11128  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-05 04:45:21 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						adf9b90411 
					 
					
						
						
							
							Implement optimizations for handling large basic blocks.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11126  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-05 00:36:43 +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 
							
						 
					 
					
						
						
							
						
						b576c94c15 
					 
					
						
						
							
							Added LLVM project notice to the top of every C++ source file.  
						
						... 
						
						
						
						Header files will be on the way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-10-20 19:43:21 +00:00 
						 
				 
			
				
					
						
							
							
								Misha Brukman 
							
						 
					 
					
						
						
							
						
						2f2d06506c 
					 
					
						
						
							
							Fixed spelling and grammar.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8478  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-09-11 18:14:24 +00:00 
						 
				 
			
				
					
						
							
							
								Misha Brukman 
							
						 
					 
					
						
						
							
						
						7bc439a4b6 
					 
					
						
						
							
							Spell `definitely' correctly.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8466  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-09-11 15:31:17 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						bd70a31c51 
					 
					
						
						
							
							Fix bug: RLE-Preserve-Volatile.ll  
						
						... 
						
						
						
						Volatile loads and stores must not be value numbered
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8398  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-09-08 18:13:58 +00:00 
						 
				 
			
				
					
						
							
							
								Misha Brukman 
							
						 
					 
					
						
						
							
						
						5560c9d49c 
					 
					
						
						
							
							Spell `necessary' correctly.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7944  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-08-18 14:43:39 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						aed2c6d2cb 
					 
					
						
						
							
							If the alias analysis algorithm we are using can provide MUST alias information,  
						
						... 
						
						
						
						expose it directly as value numbering information
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6972  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-06-29 00:53:34 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						28c6cf22de 
					 
					
						
						
							
							Implement forwarding from stores to loads of must-aliased pointers.  
						
						... 
						
						
						
						This implements: GCSE/2003-06-13-LoadStoreEliminate.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6694  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-06-16 12:06:41 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f98d8d8611 
					 
					
						
						
							
							Calculate and pass load sizes to the alias analysis infrastructure  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5635  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-02-26 19:27:35 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						71c7ec9b18 
					 
					
						
						
							
							Initial implementation of value numbering for load instructions  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3540  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2002-08-30 20:28:10 +00:00