Duncan Sands 
							
						 
					 
					
						
						
							
						
						b0bc6c361d 
					 
					
						
						
							
							Uniformize the names of type predicates: rather than having isFloatTy and  
						
						... 
						
						
						
						isInteger, we now have isFloatTy and isIntegerTy.  Requested by Chris!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96223  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-15 16:12:20 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						77ffe3b31e 
					 
					
						
						
							
							Fix a problem where we had bitcasted operands that gave us  
						
						... 
						
						
						
						odd offsets since the bitcasted pointer size and the offset pointer
size are going to be different types for the GEP vs base object.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96134  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-13 23:38:01 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						dfdddd8ed6 
					 
					
						
						
							
							Make sure that ConstantExpr offsets also aren't off of extern  
						
						... 
						
						
						
						symbols.
Thanks to Duncan Sands for the testcase!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95877  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-11 17:44:04 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						26d0e892e3 
					 
					
						
						
							
							Add ConstantExpr handling to Intrinsic::objectsize lowering.  
						
						... 
						
						
						
						Update testcase accordingly now that we can optimize another
section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95846  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-11 01:48:54 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						415326b4ed 
					 
					
						
						
							
							Move Intrinsic::objectsize lowering back to InstCombineCalls and  
						
						... 
						
						
						
						enable constant 0 offset lowering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95691  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-09 21:24:27 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						724bea90b0 
					 
					
						
						
							
							Remove this code for now. I have a better idea and will rewrite with  
						
						... 
						
						
						
						that in mind.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95402  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-05 19:04:06 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						e7b97471f8 
					 
					
						
						
							
							Temporarily revert this since it appears to have caused a build  
						
						... 
						
						
						
						failure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95294  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-04 06:41:27 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						ea4b6dfd8f 
					 
					
						
						
							
							Rework constant expr and array handling for objectsize instcombining.  
						
						... 
						
						
						
						Fix bugs where we would compute out of bounds as in bounds, and where
we couldn't know that the linker could override the size of an array.
Add a few new testcases, change existing testcase to use a private
global array instead of extern.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95283  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-04 02:55:34 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						ec5ef6d8b0 
					 
					
						
						
							
							If we're dealing with a zero-length array, don't lower to any  
						
						... 
						
						
						
						particular size, we just don't know what the length is yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95266  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-03 23:56:07 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						0c6a8f9eda 
					 
					
						
						
							
							Recommit this, looks like it wasn't the cause.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95165  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-03 00:21:58 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						9f34dd305b 
					 
					
						
						
							
							Hopefully temporarily revert this.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95154  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-02 23:01:31 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						8334f068c4 
					 
					
						
						
							
							Reformat my last patch slightly.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95147  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-02 22:29:26 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						a6a089cd24 
					 
					
						
						
							
							Re-add strcmp and known size object size checking optimization.  
						
						... 
						
						
						
						Passed bootstrap and nightly test run here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95145  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-02 22:10:43 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d569561835 
					 
					
						
						
							
							fix rdar://7590304, a miscompilation of objc apps on arm.  The caller  
						
						... 
						
						
						
						of objc message send was getting marked arm_apcscc, but the prototype
isn't.  This is fine at runtime because objcmsgsend is implemented in
assembly.  Only turn a mismatched caller and callee into 'unreachable'
if the callee is a definition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94986  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-01 18:11:34 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						830f3f205d 
					 
					
						
						
							
							fix rdar://7590304, an infinite loop in instcombine.  In the invoke  
						
						... 
						
						
						
						case, instcombine can't zap the invoke for fear of changing the CFG.
However, we have to do something to prevent the next iteration of
instcombine from inserting another store -> undef before the invoke
thereby getting into infinite iteration between dead store elim and
store insertion.
Just zap the callee to null, which will prevent the next iteration
from doing anything.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94985  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-01 18:04:58 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						36664bfc7a 
					 
					
						
						
							
							Revert my last couple of patches. They appear to have broken bison.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94841  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-29 21:16:24 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						949124ce0f 
					 
					
						
						
							
							Add constant support to object size handling and remove default  
						
						... 
						
						
						
						lowering. We'll either figure it out, or not and be lowered by
SelectionDAGBuild.
Add test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94775  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-29 01:09:57 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						4d1f58861d 
					 
					
						
						
							
							Remove unnecessary dyn_cast and add a comment.  Part of a WIP.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93026  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-08 21:37:11 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						130063207d 
					 
					
						
						
							
							Move the object size intrinsic optimization to inst-combine and make  
						
						... 
						
						
						
						it work for any integer size return type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92853  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-06 20:04:44 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						8c65f6e71c 
					 
					
						
						
							
							Move remaining stuff to the isInteger predicate.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92771  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 21:05:54 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						753a2b464d 
					 
					
						
						
							
							split call handling out to InstCombineCalls.cpp  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92707  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 07:32:13 +00:00