Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						d655e6e9dc 
					 
					
						
						
							
							Use APInt's umul_ov instead of rolling our own overflow detection.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128380  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-03-27 15:04:38 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						b9b80c3268 
					 
					
						
						
							
							If we don't know how long a string is we can't fold an _chk version to the  
						
						... 
						
						
						
						normal version.
Fixes rdar://9123638
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127636  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-03-15 00:25:41 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						6b96fe7e14 
					 
					
						
						
							
							InstCombine: Turn umul_with_overflow into mul nuw if we can prove that it cannot overflow.  
						
						... 
						
						
						
						This happens a lot in clang-compiled C++ code because it adds overflow checks to operator new[]:
  unsigned *foo(unsigned n) { return new unsigned[n]; }
We can optimize away the overflow check on 64 bit targets because (uint64_t)n*4 cannot overflow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127418  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-03-10 18:40:14 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						091b1e3c74 
					 
					
						
						
							
							change instcombine to not turn a call to non-varargs bitcast of  
						
						... 
						
						
						
						function prototype into a call to a varargs prototype.  We do
allow the xform if we have a definition, but otherwise we don't
want to risk that we're changing the abi in a subtle way.  On
X86-64, for example, varargs require passing stuff in %al.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126363  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-02-24 05:10:56 +00:00 
						 
				 
			
				
					
						
							
							
								Chandler Carruth 
							
						 
					 
					
						
						
							
						
						9cc9f50abc 
					 
					
						
						
							
							Teach instcombine about the rest of the SSE and SSE2 conversion  
						
						... 
						
						
						
						intrinsics element dependencies. Reviewed by Nick.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123161  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-10 07:19:37 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						eaff66a895 
					 
					
						
						
							
							Revert 122959, it needs more thought. Add it back to README.txt with additional notes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123030  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-07 20:42:20 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						8143a84c46 
					 
					
						
						
							
							InstCombine: Turn _chk functions into the "unsafe" variant if length and max langth are equal.  
						
						... 
						
						
						
						This happens when we take the (non-constant) length from a malloc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122961  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-06 14:22:52 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						240d42d185 
					 
					
						
						
							
							InstCombine: If we call llvm.objectsize on a malloc call we can replace it with the size passed to malloc.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122959  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-06 13:11:05 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						783a5c2b69 
					 
					
						
						
							
							InstCombine: Teach llvm.objectsize folding to look through GEPs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122958  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-06 13:07:49 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ae47be1ea0 
					 
					
						
						
							
							don't lose TD info  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122556  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-25 20:52:04 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						687140c818 
					 
					
						
						
							
							Move getOrEnforceKnownAlignment out of instcombine into Transforms/Utils.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122554  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-25 20:37:57 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2b9375e44b 
					 
					
						
						
							
							fix PR8807 by making transformConstExprCastCall aware of byval arguments.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122238  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-20 08:36:38 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ab215bc371 
					 
					
						
						
							
							various cleanups for transformConstExprCastCall  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122237  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-20 08:25:06 +00:00 
						 
				 
			
				
					
						
							
							
								Mon P Wang 
							
						 
					 
					
						
						
							
						
						55fb9b0fcf 
					 
					
						
						
							
							Avoid dropping the address space when InstCombine optimizes memset  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122215  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-20 01:05:30 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						74b64611c4 
					 
					
						
						
							
							move a transformation to a more logical place, simplifying it.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122183  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-19 19:43:52 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						26b482d7a7 
					 
					
						
						
							
							optimize uadd(x, cst) into a comparison when the normal  
						
						... 
						
						
						
						result is dead.  This is required for my next patch to not
regress the testsuite.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122181  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-19 19:35:32 +00:00 
						 
				 
			
				
					
						
							
							
								Bob Wilson 
							
						 
					 
					
						
						
							
						
						364f17c471 
					 
					
						
						
							
							Teach instcombine to set the alignment arguments for NEON load/store intrinsics.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117154  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-22 21:41:48 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6eff75104e 
					 
					
						
						
							
							fix PR8267 - Instcombine shouldn't optimizer away volatile memcpy's.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115296  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-01 05:51:02 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						4fffb345ed 
					 
					
						
						
							
							PR7853: fix a silly mistake introduced in r101899, and add a test to make sure  
						
						... 
						
						
						
						it doesn't regress again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110597  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-09 20:49:43 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						795e70e431 
					 
					
						
						
							
							Use unary + instead of a separate local variable for working  
						
						... 
						
						
						
						around std::min vs static const friction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110112  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-03 16:15:50 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						e16829b401 
					 
					
						
						
							
							Move MaximumAlignment to be a member of the Value class.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109891  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-30 21:07:05 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						138aa2a82b 
					 
					
						
						
							
							Define a maximum supported alignment value for load, store, and  
						
						... 
						
						
						
						alloca instructions (constrained by their internal encoding),
and add error checking for it. Fix an instcombine bug which
generated huge alignment values (null is infinitely aligned).
This fixes undefined behavior noticed by John Regehr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109643  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-28 20:12:04 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						33591af872 
					 
					
						
						
							
							When user code intentionally dereferences null, the alignment of the  
						
						... 
						
						
						
						dereference is theoretically infinite. Put a cap on the computed
alignment to avoid overflow, noticed by John Regehr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109596  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-28 17:14:23 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						a399781289 
					 
					
						
						
							
							undo 80 column trespassing I caused  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109092  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-22 10:37:47 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						a6aac4c5bc 
					 
					
						
						
							
							eliminate CallInst::ArgOffset  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108522  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-16 09:38:02 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						2458513430 
					 
					
						
						
							
							use getArgOperand (corrected by CallInst::ArgOffset) instead of getOperand  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107275  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-30 12:38:26 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						a90c5c7605 
					 
					
						
						
							
							use ArgOperand API  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107017  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-28 16:50:57 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						9c68a7bb45 
					 
					
						
						
							
							use ArgOperand API (some hunks I could split)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106824  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-25 07:57:14 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						2f1ab74e76 
					 
					
						
						
							
							use (even more, still) ArgOperand API  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106750  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-24 15:51:11 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						bcda85c743 
					 
					
						
						
							
							use (even more) ArgOperand API  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106744  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-24 13:54:33 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						c310fcc909 
					 
					
						
						
							
							use ArgOperand API  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106743  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-24 13:42:49 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						cea7ac7c01 
					 
					
						
						
							
							use ArgOperand API  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106740  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-24 12:58:35 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						1d9b973fd7 
					 
					
						
						
							
							Teach instCombine to remove malloc+free if malloc's only uses are comparisons  
						
						... 
						
						
						
						to null.  Patch by Matti Niemenmaa.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104871  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-27 19:09:06 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2d4b8ee1d9 
					 
					
						
						
							
							further clarify alignment of globals, fix instcombine  
						
						... 
						
						
						
						to not increase the alignment of globals with an assigned
alignment and section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102476  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-28 00:31:12 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						a9b2313c13 
					 
					
						
						
							
							use abstract accessors to CallInst  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101899  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-20 13:13:04 +00:00 
						 
				 
			
				
					
						
							
							
								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 
						 
				 
			
				
					
						
							
							
								Mon P Wang 
							
						 
					 
					
						
						
							
						
						20adc9dc46 
					 
					
						
						
							
							Reapply address space patch after fixing an issue in MemCopyOptimizer.  
						
						... 
						
						
						
						Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset,
e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100304  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-04 03:10:48 +00:00 
						 
				 
			
				
					
						
							
							
								Mon P Wang 
							
						 
					 
					
						
						
							
						
						e754d3fb85 
					 
					
						
						
							
							Revert r100191 since it breaks objc in clang  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100199  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-02 18:43:02 +00:00 
						 
				 
			
				
					
						
							
							
								Mon P Wang 
							
						 
					 
					
						
						
							
						
						e33c848fa4 
					 
					
						
						
							
							Reapply address space patch after fixing an issue in MemCopyOptimizer.  
						
						... 
						
						
						
						Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset,
e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100191  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-02 18:04:15 +00:00 
						 
				 
			
				
					
						
							
							
								Bob Wilson 
							
						 
					 
					
						
						
							
						
						100f090add 
					 
					
						
						
							
							Revert Mon Ping's change 99928, since it broke all the llvm-gcc buildbots.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99948  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-03-30 22:27:04 +00:00 
						 
				 
			
				
					
						
							
							
								Mon P Wang 
							
						 
					 
					
						
						
							
						
						808bab0169 
					 
					
						
						
							
							Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset,  
						
						... 
						
						
						
						e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1)
A update of langref will occur in a subsequent checkin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99928  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-03-30 20:55:56 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						9d8f002d8f 
					 
					
						
						
							
							Fix an incorrect logic causing instcombine to miss some _chk -> non-chk transformations.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99263  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-03-23 06:06:09 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						654c06f645 
					 
					
						
						
							
							Add a setCalledFunction member to InvokeInst (like in CallInst)  
						
						... 
						
						
						
						and use this (as well as getCalledValue) to access the callee,
instead of {g|s}etOperand(0).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99084  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-03-20 21:00:25 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						0b6cb50738 
					 
					
						
						
							
							Factor checked library call optimization into a common helper class and use it  
						
						... 
						
						
						
						to unify the almost identical code in CodeGenPrepare and InstCombineCalls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98338  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-03-12 09:27:41 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						7fa30b8e5d 
					 
					
						
						
							
							stpcpy is so similar to strcpy, it doesn't deserve a complete copy of the __strcpy_chk -> strcpy code.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98284  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-03-11 20:45:13 +00:00