Devang Patel 
							
						 
					 
					
						
						
							
						
						6ea7ac6a1e 
					 
					
						
						
							
							Use DominatorTree instead of ETForest.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37505  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-07 23:53:38 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						1997473cf7 
					 
					
						
						
							
							Drop 'const'  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36662  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-03 01:11:54 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						3e15bf33e0 
					 
					
						
						
							
							Use 'static const char' instead of 'static const int'.  
						
						... 
						
						
						
						Due to darwin gcc bug, one version of darwin linker coalesces
static const int, which defauts PassID based pass identification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36652  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-02 21:39:20 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						794fd75c67 
					 
					
						
						
							
							Do not use typeinfo to identify pass in pass manager.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36632  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-01 21:15:47 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8e8f865227 
					 
					
						
						
							
							Remove use of Instruction::getNext  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36201  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-17 17:52:45 +00:00 
						 
				 
			
				
					
						
							
							
								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