Eric Christopher 
							
						 
					 
					
						
						
							
						
						551754c495 
					 
					
						
						
							
							Revert 101465, it broke internal OpenGL testing.  
						
						... 
						
						
						
						Probably the best way to know that all getOperand() calls have been handled
is to replace that API instead of updating.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101579  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-16 23:37:20 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						4ec2258ffb 
					 
					
						
						
							
							reapply r101434  
						
						... 
						
						
						
						with a fix for self-hosting
rotate CallInst operands, i.e. move callee to the back
of the operand array
the motivation for this patch are laid out in my mail to llvm-commits:
more efficient access to operands and callee, faster callgraph-construction,
smaller compiler binary
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101465  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-16 15:33:14 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						607a7ab3da 
					 
					
						
						
							
							back out r101423 and r101397, they break llvm-gcc self-host on darwin10  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101434  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-16 01:16:20 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						2ff961f668 
					 
					
						
						
							
							reapply r101364, which has been backed out in r101368  
						
						... 
						
						
						
						with a fix
rotate CallInst operands, i.e. move callee to the back
of the operand array
the motivation for this patch are laid out in my mail to llvm-commits:
more efficient access to operands and callee, faster callgraph-construction,
smaller compiler binary
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101397  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-15 20:51:13 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						9ee1720811 
					 
					
						
						
							
							back out r101364, as it trips the linux nightlybot on some clang C++ tests  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101368  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-15 12:46:56 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						165dac08d1 
					 
					
						
						
							
							rotate CallInst operands, i.e. move callee to the back  
						
						... 
						
						
						
						of the operand array
the motivation for this patch are laid out in my mail to llvm-commits:
more efficient access to operands and callee, faster callgraph-construction,
smaller compiler binary
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101364  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-15 10:49:53 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						b57b6f1575 
					 
					
						
						
							
							Pointers to zero-sized objects don't point to overlapping objects.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100789  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-08 18:11:50 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						1df9859c40 
					 
					
						
						
							
							There are two ways of checking for a given type, for example isa<PointerType>(T)  
						
						... 
						
						
						
						and T->isPointerTy().  Convert most instances of the first form to the second form.
Requested by Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96344  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-16 11:11:14 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2033097b1f 
					 
					
						
						
							
							add some new methods to adjust this pointers.  Not used yet.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94013  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-20 19:26:14 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e405c64f6b 
					 
					
						
						
							
							move DecomposeGEPExpression out into ValueTracking.cpp  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89956  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-26 17:12:50 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						fa3966881f 
					 
					
						
						
							
							teach GetLinearExpression to be a bit more aggressive.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89955  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-26 17:00:01 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5369250b73 
					 
					
						
						
							
							resolve a fixme.  I haven't figured out how to write a testcase  
						
						... 
						
						
						
						to exercise this though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89954  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-26 16:52:32 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5d5261c819 
					 
					
						
						
							
							Teach basicaa that x|c == x+c when the c bits of x are clear.  This  
						
						... 
						
						
						
						allows us to compile the example in readme.txt into:
LBB1_1:                                                     ## %bb
	movl	4(%rdx,%rax), %ecx
	movl	%ecx, %esi
	imull	(%rdx,%rax), %esi
	imull	%esi, %ecx
	movl	%esi, 8(%rdx,%rax)
	imull	%ecx, %esi
	movl	%ecx, 12(%rdx,%rax)
	movl	%esi, 16(%rdx,%rax)
	imull	%ecx, %esi
	movl	%esi, 20(%rdx,%rax)
	addq	$16, %rax
	cmpq	$4000, %rax
	jne	LBB1_1
instead of:
LBB1_1: 
	movl	(%rdx,%rax), %ecx
	imull	4(%rdx,%rax), %ecx
	movl	%ecx, 8(%rdx,%rax)
	imull	4(%rdx,%rax), %ecx
	movl	%ecx, 12(%rdx,%rax)
	imull	8(%rdx,%rax), %ecx
	movl	%ecx, 16(%rdx,%rax)
	imull	12(%rdx,%rax), %ecx
	movl	%ecx, 20(%rdx,%rax)
	addq	$16, %rax
	cmpq	$4000, %rax
	jne	LBB1_1
GCC (4.2) doesn't seem to be able to eliminate the loads in this 
testcase either, it generates:
L2:
	movl	(%rdx), %eax
	imull	4(%rdx), %eax
	movl	%eax, 8(%rdx)
	imull	4(%rdx), %eax
	movl	%eax, 12(%rdx)
	imull	8(%rdx), %eax
	movl	%eax, 16(%rdx)
	imull	12(%rdx), %eax
	movl	%eax, 20(%rdx)
	addl	$4, %ecx
	addq	$16, %rdx
	cmpl	$1002, %ecx
	jne	L2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89952  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-26 16:26:43 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f6ac4d9dad 
					 
					
						
						
							
							teach basicaa that A[i] != A[i+1].  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89951  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-26 16:18:10 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d84eb911a9 
					 
					
						
						
							
							Change the other half of aliasGEP (which handles GEP differencing) to use DecomposeGEPExpression.  This dramatically simplifies and shrinks the code by eliminating the horrible CheckGEPInstructions method, fixes a miscompilation (@test3) and makes the code more aggressive.  In particular, we now handle the @test4 case, which is reduced from the SmallPtrSet constructor.  Missing this caused us to emit a variable length memset instead of a fixed size one.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89922  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-26 02:17:34 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						23e2a5b2ff 
					 
					
						
						
							
							Generalize DecomposeGEPExpression to exactly handle what Value::getUnderlyingObject does (when TD is around).  This allows us to avoid calling DecomposeGEPExpression unless the ultimate alias check we care about passes, speedup up BasicAA a bit.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89920  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-26 02:14:59 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4e91ee7a2a 
					 
					
						
						
							
							Implement a new DecomposeGEPExpression method, which decomposes a GEP into a list of scaled offsets.  Use this to eliminate some previous ad-hoc code which was subtly broken (it assumed all Constant*'s were non-zero, but strange constant express could be zero).  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89915  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-26 02:13:03 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						539c9b99c2 
					 
					
						
						
							
							Use GEPOperator more pervasively to simplify code.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89914  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-26 02:11:08 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b27db37ed0 
					 
					
						
						
							
							fix comment, thanks all :)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89666  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-23 17:07:35 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						403ac2ece3 
					 
					
						
						
							
							use the new isNoAlias method to simplify some code, only do an escaping check if  
						
						... 
						
						
						
						we have a non-constant pointer.  Constant pointers can't be local.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89665  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-23 16:46:41 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5d56b2d47d 
					 
					
						
						
							
							whitespace cleanup, tidying  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89664  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-23 16:45:27 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b34b82e9d1 
					 
					
						
						
							
							speed up BasicAA a bit by implementing a long-standing TODO.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89663  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-23 16:44:43 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6c7276f17e 
					 
					
						
						
							
							add fixme for dubious code.  Duncan, what do you think?  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89602  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-22 16:16:48 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4723303c97 
					 
					
						
						
							
							remove a silly condition that doesn't make a lot of sense anymore.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89601  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-22 16:15:59 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						92e803c2a4 
					 
					
						
						
							
							reduce indentation, no functionality change.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89600  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-22 16:05:05 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						66e08cf79a 
					 
					
						
						
							
							Remove the AliasAnalysis::getMustAliases method, which is dead.  
						
						... 
						
						
						
						The hasNoModRefInfoForCalls isn't worth it as a filter because 
basicaa provides m/r info and everything chains to it, so remove
it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89599  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-22 16:01:44 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						f94b5edc45 
					 
					
						
						
							
							Extend CaptureTracking to indicate when a value is never stored, even  
						
						... 
						
						
						
						if it is not ultimately captured. Teach BasicAliasAnalysis that a 
local object address which does not escape and is never stored does
not alias with a value resulting from a load.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89398  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-19 21:57:48 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						20162ac566 
					 
					
						
						
							
							Teach BasicAA that a constant expression can't alias memory provably not  
						
						... 
						
						
						
						allocated until runtime (such as an alloca). Patch by Hans Wennborg!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88760  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-14 06:15:14 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						f75ef668a7 
					 
					
						
						
							
							Default-addressspace null pointers don't alias anything. This allows  
						
						... 
						
						
						
						GVN to be more aggressive. Patch by Hans Wennborg! (with a comment added by me)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86582  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-09 19:29:11 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7b550ccfc5 
					 
					
						
						
							
							remove a bunch of extraneous LLVMContext arguments  
						
						... 
						
						
						
						from various APIs, addressing PR5325.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86231  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-06 04:27:31 +00:00 
						 
				 
			
				
					
						
							
							
								Victor Hernandez 
							
						 
					 
					
						
						
							
						
						f006b183e2 
					 
					
						
						
							
							Rename MallocFreeHelper as MemoryBuiltins  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85286  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-27 20:05:49 +00:00 
						 
				 
			
				
					
						
							
							
								Victor Hernandez 
							
						 
					 
					
						
						
							
						
						f2becca90b 
					 
					
						
						
							
							Rename MallocHelper as MallocFreeHelper, since it now also identifies calls to free()  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85181  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-26 23:58:56 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						6665b0ea68 
					 
					
						
						
							
							Teach BasicAA how to analyze Select instructions, and make it more  
						
						... 
						
						
						
						aggressive on PHI instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85158  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-26 21:55:43 +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 
						 
				 
			
				
					
						
							
							
								Victor Hernandez 
							
						 
					 
					
						
						
							
						
						7b929dad59 
					 
					
						
						
							
							Remove AllocationInst.  Since MallocInst went away, AllocaInst is the only subclass of AllocationInst, so it no longer is necessary.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84969  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-23 21:09:37 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						391d23b6c2 
					 
					
						
						
							
							inline isGEP away.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84373  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-17 23:48:54 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						a846a8a1dc 
					 
					
						
						
							
							When checking aliases between phi sources and V2, we know the sources are not themselves phi nodes. However, V2 may be. Call aliasCheck with V2 first to potentially eliminate a std::swap call.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84226  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-16 00:33:09 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						20312d0bb8 
					 
					
						
						
							
							Add missing break statements!  Thanks to Duncan Sands for pointing this out!  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84191  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-15 18:48:58 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						6e9e010752 
					 
					
						
						
							
							Teach basicaa about memcpy/memmove/memset. The length argument can be used to  
						
						... 
						
						
						
						improve alias results if constant, and the source pointer can't be modified.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84175  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-15 07:11:24 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						2d3820c29c 
					 
					
						
						
							
							Teach BasicAA to use the size parameter of the memory use marker intrinsics.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84174  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-15 06:12:11 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						22c031296c 
					 
					
						
						
							
							Take advantage of TargetData when available; we know that the atomic intrinsics  
						
						... 
						
						
						
						only dereference the element they point to directly with no pointer arithmetic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84159  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-15 00:36:35 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						f0429fd1ca 
					 
					
						
						
							
							Clear VisitedPHIs after use.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84080  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-14 06:46:26 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						681a33e26d 
					 
					
						
						
							
							Another BasicAA fix. If a value does not alias a GEP's base pointer, then it  
						
						... 
						
						
						
						cannot alias the GEP. GEP pointer alias rule states this clearly:
A pointer value formed from a getelementptr instruction is associated with the
addresses associated with the first operand of the getelementptr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84079  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-14 06:41:49 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						d83c2ca336 
					 
					
						
						
							
							More code clean up based on patch feedback.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84074  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-14 05:22:03 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						3dbe43b1b5 
					 
					
						
						
							
							Change VisitedPHIs into an instance variable that's freed by each alias() call.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84072  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-14 05:05:02 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						50a5914e12 
					 
					
						
						
							
							Teach basic AA about PHI nodes. If all operands of a phi NoAlias another value than it's safe to declare the PHI NoAlias the value. Ditto for MustAlias.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84038  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-13 22:02:20 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						094f04b429 
					 
					
						
						
							
							Refactor some code. No functionality changes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84000  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-13 18:42:04 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						5c9be67cff 
					 
					
						
						
							
							Teach BasicAA a little something about the atomic intrinsics: they can only  
						
						... 
						
						
						
						modify through the pointer they're given.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83959  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-13 07:48:38 +00:00 
						 
				 
			
				
					
						
							
							
								Victor Hernandez 
							
						 
					 
					
						
						
							
						
						46e8312fb7 
					 
					
						
						
							
							Enhance analysis passes so that they apply the same analysis to malloc calls as to MallocInst.  
						
						... 
						
						
						
						Reviewed by Eli Friedman.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82281  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-18 21:34:51 +00:00