Chris Lattner 
							
						 
					 
					
						
						
							
						
						3793325cb3 
					 
					
						
						
							
							Add a new trivial -inst-namer pass which makes it possible to diff the  
						
						... 
						
						
						
						before/after effects of a pass, crazy!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55230  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-08-23 06:07:02 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						3688f268cb 
					 
					
						
						
							
							Remove GCSE, ValueNumbering, and LoadValueNumbering.  These have been deprecated for almost a year; it's finally time for them to go away.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54822  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-08-15 21:31:02 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						a11e2eb845 
					 
					
						
						
							
							Add a value range analysis that lazily computes ranges using ScalarEvolutions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52885  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-30 00:04:21 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						5771d6c16d 
					 
					
						
						
							
							Force postdom to be linked into opt and bugpoint, even though it is no longer used by any passes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51686  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-29 17:00:13 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						029840c935 
					 
					
						
						
							
							Add a new LibCallAliasAnalysis pass, which is parameterized  
						
						... 
						
						
						
						by an instance of LibCallInfo to provide mod/ref info of
standard library functions.  This is powerful enough to
say that 'sqrt' is readonly except that it modifies errno,
or that "printf doesn't store to memory unless the %n
constraint is present" etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50827  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-07 19:53:05 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						0396cd33ca 
					 
					
						
						
							
							Rename DeadLoopElimination to LoopDeletion, part 2.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50437  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-29 20:06:54 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						0ff7708a5b 
					 
					
						
						
							
							Add dead loop elimination, which removes dead loops for which we can compute  
						
						... 
						
						
						
						the trip count.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50382  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-29 00:38:34 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8383a7b7a6 
					 
					
						
						
							
							Add a new Jump Threading pass, which will handle cases  
						
						... 
						
						
						
						such as those in PR2235.  Right now the pass is not very
effective. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50000  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-20 20:35:01 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						a723d1e48f 
					 
					
						
						
							
							Factor a bunch of functionality related to memcpy and memset transforms out of  
						
						... 
						
						
						
						GVN and into its own pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49419  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-09 08:23:16 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						c6791d9fca 
					 
					
						
						
							
							Add new sretpromotion pass.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48032  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-07 21:07:34 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						5f2e4681ce 
					 
					
						
						
							
							Add StripDeadPrototypes pass.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47488  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-22 18:39:29 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						75542bd56b 
					 
					
						
						
							
							remove the LowerSelect pass.  The last client was the old Sparc backend, which is long dead by now.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47323  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-19 07:49:17 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						15f166c7b6 
					 
					
						
						
							
							remove the lower packed pass.  It can never work and even the parts that  
						
						... 
						
						
						
						could work don't work fully.  This fixes PR1705.  Oh yeah, we don't have
packed types anymore either ;-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47322  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-19 07:39:17 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						beefd3d0f8 
					 
					
						
						
							
							The CorrelatedExpressionElimination pass is known to be buggy. Remove it.  
						
						... 
						
						
						
						This fixes PR1769.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46408  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-27 06:11:41 +00:00 
						 
				 
			
				
					
						
							
							
								Gordon Henriksen 
							
						 
					 
					
						
						
							
						
						8fa8929177 
					 
					
						
						
							
							With this patch, the LowerGC transformation becomes the  
						
						... 
						
						
						
						ShadowStackCollector, which additionally has reduced overhead with
no sacrifice in portability.
Considering a function @fun with 8 loop-local roots,
ShadowStackCollector introduces the following overhead
(x86):
; shadowstack prologue
        movl    L_llvm_gc_root_chain$non_lazy_ptr, %eax
        movl    (%eax), %ecx
        movl    $___gc_fun, 20(%esp)
        movl    $0, 24(%esp)
        movl    $0, 28(%esp)
        movl    $0, 32(%esp)
        movl    $0, 36(%esp)
        movl    $0, 40(%esp)
        movl    $0, 44(%esp)
        movl    $0, 48(%esp)
        movl    $0, 52(%esp)
        movl    %ecx, 16(%esp)
        leal    16(%esp), %ecx
        movl    %ecx, (%eax)
; shadowstack loop overhead
        (none)
; shadowstack epilogue
        movl    48(%esp), %edx
        movl    %edx, (%ecx)
; shadowstack metadata
        .align  3
___gc_fun:                              # __gc_fun
        .long   8
        .space  4
In comparison to LowerGC:
; lowergc prologue
        movl    L_llvm_gc_root_chain$non_lazy_ptr, %eax
        movl    (%eax), %ecx
        movl    %ecx, 48(%esp)
        movl    $8, 52(%esp)
        movl    $0, 60(%esp)
        movl    $0, 56(%esp)
        movl    $0, 68(%esp)
        movl    $0, 64(%esp)
        movl    $0, 76(%esp)
        movl    $0, 72(%esp)
        movl    $0, 84(%esp)
        movl    $0, 80(%esp)
        movl    $0, 92(%esp)
        movl    $0, 88(%esp)
        movl    $0, 100(%esp)
        movl    $0, 96(%esp)
        movl    $0, 108(%esp)
        movl    $0, 104(%esp)
        movl    $0, 116(%esp)
        movl    $0, 112(%esp)
; lowergc loop overhead
        leal    44(%esp), %eax
        movl    %eax, 56(%esp)
        leal    40(%esp), %eax
        movl    %eax, 64(%esp)
        leal    36(%esp), %eax
        movl    %eax, 72(%esp)
        leal    32(%esp), %eax
        movl    %eax, 80(%esp)
        leal    28(%esp), %eax
        movl    %eax, 88(%esp)
        leal    24(%esp), %eax
        movl    %eax, 96(%esp)
        leal    20(%esp), %eax
        movl    %eax, 104(%esp)
        leal    16(%esp), %eax
        movl    %eax, 112(%esp)
; lowergc epilogue
        movl    48(%esp), %edx
        movl    %edx, (%ecx)
; lowergc metadata
        (none)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45670  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-07 01:30:53 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f07b9a76e5 
					 
					
						
						
							
							fix an accidental commit that broke all the testers :(  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45659  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-06 19:18:52 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2e48a70b35 
					 
					
						
						
							
							rename isStore -> mayStore to more accurately reflect what it captures.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45656  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-06 08:36:04 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						699f5faed5 
					 
					
						
						
							
							Didn't mean to commit this.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45606  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-05 00:42:45 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						d94b6a16fe 
					 
					
						
						
							
							Move some more functionality from MRegisterInfo to TargetInstrInfo.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45603  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-01-04 23:57:37 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7ed47a1335 
					 
					
						
						
							
							Don't attribute in file headers anymore.  See llvmdev for the  
						
						... 
						
						
						
						discussion of this change.  Boy are my fingers tired. ;-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-29 19:59:42 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						7e9edda51d 
					 
					
						
						
							
							Remove RLE from the headers, since the pass itself is gone now.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41971  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-09-14 22:54:46 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						fee76bd9ba 
					 
					
						
						
							
							Begin loop index split pass.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40883  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-07 00:25:56 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						f6a05f949f 
					 
					
						
						
							
							Rename FastDSE to just DSE.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40668  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-01 06:36:51 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						1ad2cb7555 
					 
					
						
						
							
							Add a GVN pass, using the value numbering code I developed for GVNPRE and the  
						
						... 
						
						
						
						load elimination code from RedundantLoadElimination.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40469  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-07-24 17:55:58 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						a7f98e2919 
					 
					
						
						
							
							Rename a lot of things to change FastDLE to RedundantLoadElimination.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40457  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-07-24 00:17:04 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						fb80b6e056 
					 
					
						
						
							
							Forgot to commit this file.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40447  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-07-23 22:00:03 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						b77c457cc8 
					 
					
						
						
							
							Add FastDSE, a new algorithm for doing dead store elimination.  This algorithm is not as accurate  
						
						... 
						
						
						
						as the current DSE, but it only a linear scan over each block, rather than quadratic.  Eventually
(once it has been improved somewhat), this will replace the current DSE.
NOTE: This has not yet been extensively tested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38517  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-07-11 00:46:18 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						1f476f4d84 
					 
					
						
						
							
							Put GVN-PRE in all the right places.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37352  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-29 23:36:32 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						3dc6776b33 
					 
					
						
						
							
							Remove ImmediateDominator analysis.  The same information can be obtained from DomTree.  A lot of code for  
						
						... 
						
						
						
						constructing ImmediateDominator is now folded into DomTree construction.
This is part of the ongoing work for PR217.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36063  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-15 08:47:27 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						ba43963e96 
					 
					
						
						
							
							Completely purge DomSet.  This is the (hopefully) final patch for PR1171.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35731  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-07 07:17:27 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6116fb1035 
					 
					
						
						
							
							add loop rot  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35722  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-07 04:43:02 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						dbe0deca33 
					 
					
						
						
							
							Split the sdisel code munging stuff out into its own opt-pass, CodeGenPrepare.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35528  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-03-31 04:06:36 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a9a23d8faf 
					 
					
						
						
							
							remove some passes  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34437  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-20 05:31:04 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						ef9b9a7939 
					 
					
						
						
							
							For PR411:  
						
						... 
						
						
						
						This patch replaces the SymbolTable class with ValueSymbolTable which does
not support types planes. This means that all symbol names in LLVM must now
be unique. The patch addresses the necessary changes to deal with this and
removes code no longer needed as a result. This completes the bulk of the
changes for this PR. Some cleanup patches will follow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33918  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-05 20:47:22 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						7ba98a9000 
					 
					
						
						
							
							For PR1072:  
						
						... 
						
						
						
						Removing -raise has neglible positive or negative side effects so we are
opting to remove it. See the PR for comparison details.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33844  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-02-03 23:15:56 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						fd0cf61670 
					 
					
						
						
							
							remove an old instrumentation pass that is not used anymore.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32997  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-01-07 18:12:13 +00:00 
						 
				 
			
				
					
						
							
							
								John Criswell 
							
						 
					 
					
						
						
							
						
						bc80038791 
					 
					
						
						
							
							Remove DSA header files.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32552  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-12-13 19:55:53 +00:00 
						 
				 
			
				
					
						
							
							
								John Criswell 
							
						 
					 
					
						
						
							
						
						e026c070c4 
					 
					
						
						
							
							Remove DSA.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32542  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-12-13 16:54:24 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						472c7918b0 
					 
					
						
						
							
							A shim over other AA impls to catch incorrect uses  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31724  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-11-14 05:21:04 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						05450ae128 
					 
					
						
						
							
							Add PredicateSimplifier pass. Collapses equal variables into one form  
						
						... 
						
						
						
						and simplifies expressions. This implements the optimization described
in PR807.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29947  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-28 22:44:55 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						037ce981d8 
					 
					
						
						
							
							Fix the documentation for this file.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29788  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-21 05:37:03 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						62c5105adc 
					 
					
						
						
							
							For PR885:  
						
						... 
						
						
						
						Consolidate the LinkAllAnalyses.h and LinkAllPasses.h headers into one
so there is no dupliation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29787  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-08-21 05:34:03 +00:00