Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						3433141a3e 
					 
					
						
						
							
							Add a simple pass to make sure that all (non-library) calls to malloc and free  
						
						... 
						
						
						
						are visible to analysis as intrinsics.  That is, make sure someone doesn't pass
free around by address in some struct (as happens in say 176.gcc).
This doesn't get rid of any indirect calls, just ensure calls to free and malloc
are always direct.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27560  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-04-10 19:26:09 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						410354fe0c 
					 
					
						
						
							
							Make the LLVM headers "-ansi -pedantic -Wno-long-long" clean.  
						
						... 
						
						
						
						Patch by Martin Partel!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26313  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-22 16:23:43 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						85db136695 
					 
					
						
						
							
							Remove a never-working pass  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25348  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-16 01:05:24 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						bb227c1b79 
					 
					
						
						
							
							Added documented rsprofiler interface.  Also remove new profiler passes, the  
						
						... 
						
						
						
						old ones have been updated to implement the interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24499  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-11-28 18:00:38 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						701f5ac73c 
					 
					
						
						
							
							Random sampling (aka Arnold and Ryder) profiling.  This is still preliminary, but it works on spec on x86 and alpha.  The idea is to allow profiling passes to remember what profiling they inserted, then a random sampling framework is inserted which consists of duplicated basic blocks (without profiling), such that at each backedge in the program and entry into every function, the framework chooses whether to use the instrumented code or the instrumentation free code.  The goal of such a framework is to make it reasonably cheap to do random sampling of very expensive profiling products (such as load-value profiling).  
						
						... 
						
						
						
						The code is organized into 3 parts (2 passes)
1) a linked set of profiling passes, which implement an analysis group (linked, like alias analysis are).  These insert profiling into the program, and remember what they inserted, so that at a later time they can be queried about any instruction.
2) a pass that handles inserting the random sampling framework.  This also has options to control how random samples are choosen.  Currently implemented are Global counters, register allocated global counters, and read cycle counter (see? there was a reason for it).
The profiling passes are almost identical to the existing ones (block, function, and null profiling is supported right now), and they are valid passes without the sampling framework (hence the existing passes can be unified with the new ones, not done yet).
Some things are a bit ugly still, but that should be fixed up soon enough.
Other todo? making the counter values not "magic 2^16 -1" values, but dynamically choosable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24493  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-11-28 00:58:09 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						105b2f5374 
					 
					
						
						
							
							needs to go here to apparently.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24268  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-11-10 02:07:45 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3aa4e15331 
					 
					
						
						
							
							Remove the LowerConstantExpressionsPass pass  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24089  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-10-29 05:32:20 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						71478a09b5 
					 
					
						
						
							
							Don't link these three passes in anymore  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23941  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-10-24 02:30:25 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						581ba9073e 
					 
					
						
						
							
							Don't invade the system namespace  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23917  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-10-24 00:16:03 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9b2b56ef75 
					 
					
						
						
							
							There is no need for this to be VC++ only  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23915  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-10-24 00:08:51 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e214979f79 
					 
					
						
						
							
							Make this work with the internalize change  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23812  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-10-19 01:41:47 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						c8beae2b6d 
					 
					
						
						
							
							Add SimplyLibCalls.cpp to VC++ build  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21554  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-26 02:57:49 +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 
							
						 
					 
					
						
						
							
						
						da3f296854 
					 
					
						
						
							
							new pass  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21307  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-15 21:13:16 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						e60f69c054 
					 
					
						
						
							
							Fix VC++ build breakage  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20888  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-03-28 02:52:28 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						a5ba89421e 
					 
					
						
						
							
							Get VC++ compiling again  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19869  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-28 07:29:32 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						6e400f76e6 
					 
					
						
						
							
							Apply feed back from Chris:  
						
						... 
						
						
						
						1. Rename createLoaderPass to CreateProfileLoaderPass
  2. Opt shouldn't use the pass registered in CodeGen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19431  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-10 03:56:27 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						1d7b5de7ee 
					 
					
						
						
							
							Add last four createXxxPass functions  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19424  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-09 20:42:52 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						534927d82d 
					 
					
						
						
							
							Add even more missing createXxxPass functions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19402  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-08 22:01:16 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						06deda2d9c 
					 
					
						
						
							
							Add a few more passes to LinkAllPasses.h  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19371  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-08 18:15:23 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						bf65268def 
					 
					
						
						
							
							Add more missing createXxxPass functions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19370  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-08 17:21:40 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						e89c7c616b 
					 
					
						
						
							
							But not the identation of THAT line  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19328  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-07 07:46:40 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						b99468d718 
					 
					
						
						
							
							Correct indentation levels  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19322  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-07 07:44:02 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						d9ed8c8880 
					 
					
						
						
							
							Add missing createXxxPass functions  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19319  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-07 06:57:28 +00:00 
						 
				 
			
				
					
						
							
							
								Misha Brukman 
							
						 
					 
					
						
						
							
						
						3e4c46fbd6 
					 
					
						
						
							
							Fix spelling.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19317  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-07 06:45:07 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						c313932693 
					 
					
						
						
							
							Update list of passes  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19316  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-07 06:12:41 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						e67bc1384a 
					 
					
						
						
							
							Get the #ifdef right on LinkAllPasses.h.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19310  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-06 07:01:08 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						00f3db6a4c 
					 
					
						
						
							
							Fix minor mistakes  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19309  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-06 06:29:42 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						d1c452b501 
					 
					
						
						
							
							Get rid of those pesky tabs...  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19308  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-06 06:06:35 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						4b807e0381 
					 
					
						
						
							
							Add project opt to Visual Studio.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19307  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-01-06 06:02:53 +00:00