Owen Anderson 
							
						 
					 
					
						
						
							
						
						081c34b725 
					 
					
						
						
							
							Get rid of static constructors for pass registration.  Instead, every pass exposes an initializeMyPassFunction(), which  
						
						... 
						
						
						
						must be called in the pass's constructor.  This function uses static dependency declarations to recursively initialize
the pass's dependencies.
Clients that only create passes through the createFooPass() APIs will require no changes.  Clients that want to use the
CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h
before parsing commandline arguments.
I have tested this with all standard configurations of clang and llvm-gcc on Darwin.  It is possible that there are problems
with the static dependencies that will only be visible with non-standard options.  If you encounter any crash in pass
registration/creation, please send the testcase to me directly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116820  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-19 17:21:58 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						1ed219a9d2 
					 
					
						
						
							
							Be more consistent in using ValueToValueMapTy.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116387  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-13 01:36:30 +00:00 
						 
				 
			
				
					
						
							
							
								Kenneth Uildriks 
							
						 
					 
					
						
						
							
						
						74fa7327d6 
					 
					
						
						
							
							Now using a variant of the existing inlining heuristics to decide whether to create a given specialization of a function in PartialSpecialization.  If the total performance bonus across all callsites passing the same constant exceeds the specialization cost, we create the specialization.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116158  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-09 22:06:36 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						ce665bd2e2 
					 
					
						
						
							
							Now with fewer extraneous semicolons!  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115996  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-07 22:25:06 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						6cb8c23db1 
					 
					
						
						
							
							Reapply r112091 and r111922, support for metadata linking, with a  
						
						... 
						
						
						
						fix: add a flag to MapValue and friends which indicates whether
any module-level mappings are being made. In the common case of
inlining, no module-level mappings are needed, so MapValue doesn't
need to examine non-function-local metadata, which can be very
expensive in the case of a large module with really deep metadata
(e.g. a large C++ program compiled with -g).
This flag is a little awkward; perhaps eventually it can be moved
into the ClonedCodeInfo class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112190  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-26 15:41:53 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						90c579de5a 
					 
					
						
						
							
							Reapply r110396, with fixes to appease the Linux buildbot gods.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110460  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-06 18:33:48 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						1f74590e9d 
					 
					
						
						
							
							Revert r110396 to fix buildbots.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110410  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-06 00:23:35 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						9ccaf53ada 
					 
					
						
						
							
							Don't use PassInfo* as a type identifier for passes.  Instead, use the address of the static  
						
						... 
						
						
						
						ID member as the sole unique type identifier.  Clean up APIs related to this change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110396  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-05 23:42:04 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						945f1ab0a5 
					 
					
						
						
							
							simplify  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109101  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-22 13:07:39 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						efdf039aec 
					 
					
						
						
							
							do not access arguments via low-level interface, do not multiply dereference use_iterators  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109100  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-22 13:04:32 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						d13db2c59c 
					 
					
						
						
							
							Fix batch of converting RegisterPass<> to INTIALIZE_PASS().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109045  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-21 22:09:45 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						e9916a302f 
					 
					
						
						
							
							Use ValueMap instead of DenseMap.  
						
						... 
						
						
						
						The ValueMapper used by various cloning utility maps MDNodes also.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106706  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-24 00:33:28 +00:00 
						 
				 
			
				
					
						
							
							
								Kenneth Uildriks 
							
						 
					 
					
						
						
							
						
						3a4340d4cb 
					 
					
						
						
							
							Partial specialization was not checking the callsite to make sure it was using the same constants as the specialization, leading to calls to the wrong specialization.  Patch by Takumi Nakamura\!  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105528  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-05 14:50:21 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						f5a86f45e7 
					 
					
						
						
							
							Remove includes of Support/Compiler.h that are no longer needed after the  
						
						... 
						
						
						
						VISIBILITY_HIDDEN removal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85043  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-25 06:57:41 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						6726b6d75a 
					 
					
						
						
							
							Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces.  
						
						... 
						
						
						
						Chris claims we should never have visibility_hidden inside any .cpp file but
that's still not true even after this commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85042  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-25 06:33: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 
							
						 
					 
					
						
						
							
						
						001dbfebcb 
					 
					
						
						
							
							Move the ConstantInt uniquing table into LLVMContextImpl.  This exposed a number of issues in  
						
						... 
						
						
						
						our current context-passing stuff, which is also fixed here
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76089  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-16 18:04:31 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						d694a789cb 
					 
					
						
						
							
							Keep calling-convention and tail-call bit when creating new invoke or call.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66384  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-03-08 19:02:17 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						06a1242207 
					 
					
						
						
							
							add a period at the end of the comment, ignoring the fact that the comment would be hard pressed to be considered a sentence, but if it makes Bill happy...  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58630  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-11-03 19:29:29 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						97bd9a914b 
					 
					
						
						
							
							Ensure that we are checking only calls to the function we are interested in specializing  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58615  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-11-03 16:05:35 +00:00 
						 
				 
			
				
					
						
							
							
								Nuno Lopes 
							
						 
					 
					
						
						
							
						
						7a85a62f50 
					 
					
						
						
							
							dont specialize weak functions and the like  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57305  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-08 18:45:59 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						eb50479714 
					 
					
						
						
							
							try to seperate the mechanism into something others can use  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55785  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-04 18:51:26 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						ae73dc1448 
					 
					
						
						
							
							Tidy up several unbeseeming casts from pointer to intptr_t.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55779  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-04 17:05:41 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						ef7803217a 
					 
					
						
						
							
							cleanup as per Duncan's review  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55766  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-04 14:34:22 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						cf996d4b56 
					 
					
						
						
							
							Initial version of a Partial Specialization IPO pass.  It triggers a couple hundred times on 176.gcc.  I don't know the performance impact yet, the heuristic is quite simple still.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55734  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-03 21:00:28 +00:00