Owen Anderson 
							
						 
					 
					
						
						
							
						
						4bda6e47e9 
					 
					
						
						
							
							Remove unneeded #include's.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50035  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-21 07:47:38 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						241f65321e 
					 
					
						
						
							
							Make GVN able to remove unnecessary calls to read-only functions again.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49842  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-17 05:36:50 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						8f46c78fcc 
					 
					
						
						
							
							Fix PR2213 by simultaneously making GVN more aggressive with the return values  
						
						... 
						
						
						
						of calls and less aggressive with non-readnone calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49516  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-11 05:11:49 +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 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						82a66291b0 
					 
					
						
						
							
							Remove accidentally duplicated code.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49418  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-09 07:55:01 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						412821284f 
					 
					
						
						
							
							Add operator= implementations to SparseBitVector, allowing it to be used in GVN.  This results  
						
						... 
						
						
						
						in both time and memory savings for GVN.  For example, one testcase went from 10.5s to 6s with
this patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49345  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-07 17:38:23 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						e5ffa900f8 
					 
					
						
						
							
							Make GVN more memory efficient, particularly on code that contains a large number of  
						
						... 
						
						
						
						allocations, which GVN can't optimize anyways.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49329  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-07 09:59:07 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						051a950000 
					 
					
						
						
							
							API changes for class Use size reduction, wave 1.  
						
						... 
						
						
						
						Specifically, introduction of XXX::Create methods
for Users that have a potentially variable number of
Uses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49277  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-06 20:25:17 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						97ae12a988 
					 
					
						
						
							
							change iterator invalidation avoidance to just move the iterator backward  
						
						... 
						
						
						
						when something changes, instead of moving forward.  This allows us to 
simplify memset lowering, inserting the memset at the end of the range of 
stuff we're touching instead of at the start.
This, in turn, allows us to make use of the addressing instructions already
used in the function instead of inserting our own.  For example, we now
codegen:
	%tmp41 = getelementptr [8 x i8]* %ref_idx, i32 0, i32 0		; <i8*> [#uses=2]
	call void @llvm.memset.i64( i8* %tmp41, i8 -1, i64 8, i32 1 )
instead of:
	%tmp20 = getelementptr [8 x i8]* %ref_idx, i32 0, i32 7		; <i8*> [#uses=1]
	%ptroffset = getelementptr i8* %tmp20, i64 -7		; <i8*> [#uses=1]
	call void @llvm.memset.i64( i8* %ptroffset, i8 -1, i64 8, i32 1 )
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48940  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-29 05:15:47 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d22fe2b51f 
					 
					
						
						
							
							make the common case of a single store (which clearly shouldn't be turned  
						
						... 
						
						
						
						into a memset!) faster by avoiding an allocation of an std::list node.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48939  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-29 04:52:12 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9f8a6a7498 
					 
					
						
						
							
							give form-memset a significantly more sane heuristic, enable it by default.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48937  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-29 04:36:18 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7f0965e7da 
					 
					
						
						
							
							make memset inference significantly more powerful: it can now handle  
						
						... 
						
						
						
						memsets that initialize "structs of arrays" and other store sequences
that are not sequential.  This is still only enabled if you pass 
-form-memset-from-stores.  The flag is not heavily tested and I haven't
analyzed the perf regressions when -form-memset-from-stores is passed
either, but this causes no make check regressions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48909  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-28 06:45:13 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						88ffdddcc4 
					 
					
						
						
							
							Temporarily disabling memset forming optimization. Add an option.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48720  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-24 05:28:38 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b017c9e89c 
					 
					
						
						
							
							implement an initial hack at a straight-line store -> memset optimization.  
						
						... 
						
						
						
						This fires dozens of times across spec and multisource, but I don't know
if it actually speeds stuff up.  Hopefully the testers will show something
nice :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48680  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-22 05:37:16 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d27290d733 
					 
					
						
						
							
							implement the logic for memset insertion and store deletion.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48679  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-22 04:13:49 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						641dae19eb 
					 
					
						
						
							
							This is a partially implemented and currently disabled start of a store  
						
						... 
						
						
						
						merging optimization.  Nothing to see here, hopefully more later :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48670  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-22 00:31:52 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8e1e95cb04 
					 
					
						
						
							
							the size of a smallvector shouldn't be part of the interface to these methods.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48662  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-21 22:01:16 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2e60701b9d 
					 
					
						
						
							
							make gvn marginally faster by reallocating the lastSeenLoad map for  
						
						... 
						
						
						
						each basic block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48660  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-21 21:33:23 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						88365bb404 
					 
					
						
						
							
							Minor cleanups and shrinkification.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48658  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-21 21:14:38 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						8a97fddbc2 
					 
					
						
						
							
							Fix a bug in GVN that Duncan noticed, where we potentially need to insert a  
						
						... 
						
						
						
						pointer bitcast when performing return slot optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48343  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-13 22:07:10 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						6bb0bd52ec 
					 
					
						
						
							
							Improve the return slot optimization to be both more aggressive (not limited to sret parameters), and  
						
						... 
						
						
						
						safer (when the passed pointer might be invalid).  Thanks to Duncan and Chris for the idea behind this, 
and extra thanks to Duncan for helping me work out the trap-safety.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48280  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-03-12 07:37:44 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						77db50f68f 
					 
					
						
						
							
							Fix an issue where GVN had the sizes of the two memcpy's reverse, resulting  
						
						... 
						
						
						
						in an invalid transformation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47639  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-26 23:06:17 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						c0808a7e1d 
					 
					
						
						
							
							Fix an issue where GVN was performing the return slot optimization when it was  
						
						... 
						
						
						
						not safe.  This is fixed by more aggressively checking that the return slot is
not used elsewhere in the function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47544  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-25 04:08:09 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						0f7ea1ab10 
					 
					
						
						
							
							Fix an issue where GVN would try to use an instruction before its definition when performing return slot optimization.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47541  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-25 00:40:41 +00:00 
						 
				 
			
				
					
						
							
							
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						07e6e56f57 
					 
					
						
						
							
							Make Transforms to be 4.3 warnings-clean  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47371  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-20 11:26:25 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						61d30a821f 
					 
					
						
						
							
							When performing return slot optimization, remember to inform memdep when we're removing the memcpy.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47364  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-20 08:23:02 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						967552e7ec 
					 
					
						
						
							
							Refactor this method a bit, and correct a test that was completely wrong but happened to work out anyways. :-)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47321  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-19 07:07:51 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e42ce73c37 
					 
					
						
						
							
							isa+cast -> dyncast.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47320  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-19 06:53:20 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						0a76a621a4 
					 
					
						
						
							
							simplify  this code again, try 2 :)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47319  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-19 06:52:38 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						9cffa9a6ed 
					 
					
						
						
							
							Fix a comment.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47318  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-19 06:51:23 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						61c24e96b1 
					 
					
						
						
							
							Major improvements to yesterday's return slot optimization.  Remove some unneccessary constraints,  
						
						... 
						
						
						
						and add some others that should have been in from the first place.  Document the whole thing better.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47315  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-19 06:35:43 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						fa113f8155 
					 
					
						
						
							
							Factor the profitability check for return slot optimization out into a static function.  
						
						... 
						
						
						
						At some point in the future, this check will become smarter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47310  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-19 03:27:34 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						c0755a6f98 
					 
					
						
						
							
							An sret parameter is required to be the first parameter, so there's no need to loop  
						
						... 
						
						
						
						over all the parameters of the callee looking for it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47309  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-19 03:15:29 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						7acc0af95a 
					 
					
						
						
							
							Cleanup some of my patches from yesterday.  Refactor the check for which xform  
						
						... 
						
						
						
						to apply to a memcpy into processInstruction.  Also, fix a bug in the check due to
missing braces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47307  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-19 03:09:45 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						c2580ab9b0 
					 
					
						
						
							
							Fix Transforms/GVN/memcpy.ll, which Chris broke in r47275 by reordering the branches.  memcpy's are a kind of CallInst.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47305  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-19 02:53:23 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						913b19f6fc 
					 
					
						
						
							
							minor code simplification, no functionality change.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47275  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-18 17:47:29 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						5aa4f2a085 
					 
					
						
						
							
							Add support to GVN for performing sret return slot optimization.  This means that, if an sret function tail calls  
						
						... 
						
						
						
						another sret function, it should pass its own sret parameter to the tail callee, allowing it to fill in the correct
return value.  llvm-gcc does not emit this by default.  Instead, it allocates space in the caller for the sret of
the tail call and then uses memcpy to copy the result into the caller's sret parameter.  This optimization detects
and optimizes that case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47265  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-18 09:24:53 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						95f0ba2703 
					 
					
						
						
							
							Fix PR2032. Inform the alias analysis of changes to the underlying program.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47111  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-14 07:11:24 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						30b4bd4d10 
					 
					
						
						
							
							Re-apply the patch to improve the optimizations of memcpy's, with several  
						
						... 
						
						
						
						bugs fixed.  This now passes PPC bootstrap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47026  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-12 21:15:18 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						b6c36e4058 
					 
					
						
						
							
							Fix for bug 1996: optimize out loads of undef.  This code basically just  
						
						... 
						
						
						
						checks for a malloc/alloca immediately followed by a load.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47006  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-12 12:08:14 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						e00fec554b 
					 
					
						
						
							
							Temporarily reverting:  
						
						... 
						
						
						
						http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20080128/057882.html 
This is causing a miscompilation on PPC G5 and just now seeing it on iMac x86-64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46822  91177308-0d34-0410-b5e6-96231b3b80d8 
					
						2008-02-06 20:03:07 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						6f7a52d300 
					 
					
						
						
							
							Allow GVN to hack on memcpy's, making them open to further optimization.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46693  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-02-04 02:59:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4ee451de36 
					 
					
						
						
							
							Remove attribution from file headers, per discussion on llvmdev.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-29 20:36:04 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						5fc4abac3d 
					 
					
						
						
							
							Fix several cache coherence bugs in MemDep/GVN that were found.  Also add some (disabled) debugging code  
						
						... 
						
						
						
						to make such problems easier to diagnose in the future, written by Duncan Sands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44695  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-08 01:37:09 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						dff6710717 
					 
					
						
						
							
							Integrate the readonly/readnone logic more deeply  
						
						... 
						
						
						
						into alias analysis.  This meant updating the API
which now has versions of the getModRefBehavior,
doesNotAccessMemory and onlyReadsMemory methods
which take a callsite parameter.  These should be
used unless the callsite is not known, since in
general they can do a better job than the versions
that take a function.  Also, users should no longer
call the version of getModRefBehavior that takes
both a function and a callsite.  To reduce the
chance of misuse it is now protected.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44487  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-12-01 07:51:45 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						1fb136464d 
					 
					
						
						
							
							Fix a miscompilation in spiff on PPC.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44437  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-11-29 18:02:22 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						a16bbc9aa7 
					 
					
						
						
							
							Fix another bug that was causing siod to fail.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44325  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-11-26 07:17:19 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						00a6d1448d 
					 
					
						
						
							
							Allow GVN to eliminate read-only function calls when it can detect that they are redundant.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44323  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-11-26 02:26:36 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						b388ca9544 
					 
					
						
						
							
							Allow GVN to eliminate redundant calls to functions without side effects.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43147  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-10-18 19:39:33 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						ce4d88aa64 
					 
					
						
						
							
							Add partial caching of non-local memory dependence queries.  This provides a modest  
						
						... 
						
						
						
						speedup for GVN.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42185  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-09-21 03:53:52 +00:00