Evan Cheng 
							
						 
					 
					
						
						
							
						
						d36696c4e0 
					 
					
						
						
							
							Legalizer optimize a pair of div / mod to  a call to divrem libcall if they are  
						
						... 
						
						
						
						not legal. However, it should use a div instruction + mul + sub if divide is
legal. The rem legalization code was missing a check and incorrectly uses a
divrem libcall even when div is legal.
rdar://12481395
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165778  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-10-12 01:15:47 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						8ef0968dc2 
					 
					
						
						
							
							Emit a single _udivmodsi4 libcall instead of two separate _udivsi3 and  
						
						... 
						
						
						
						_umodsi3 libcalls if they have the same arguments. This optimization
was apparently broken if one of the node was replaced in place.
rdar://11714607
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158900  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-06-21 05:56:05 +00:00 
						 
				 
			
				
					
						
							
							
								Nuno Lopes 
							
						 
					 
					
						
						
							
						
						23e75da7e0 
					 
					
						
						
							
							revert my previous patches that introduced an additional parameter to the objectsize intrinsic.  
						
						... 
						
						
						
						After a lot of discussion, we realized it's not the best option for run-time bounds checking
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157255  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-05-22 15:25:31 +00:00 
						 
				 
			
				
					
						
							
							
								Nuno Lopes 
							
						 
					 
					
						
						
							
						
						30759542aa 
					 
					
						
						
							
							change the objectsize intrinsic signature: add a 3rd parameter to denote the maximum runtime performance penalty that the user is willing to accept.  
						
						... 
						
						
						
						This commit only adds the parameter. Code taking advantage of it will follow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156473  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-05-09 15:52:43 +00:00 
						 
				 
			
				
					
						
							
							
								Bob Wilson 
							
						 
					 
					
						
						
							
						
						2fef4573df 
					 
					
						
						
							
							Reenable use of divmod compiler_rt functions for iOS 5.0 and later.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141368  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-07 16:59:21 +00:00 
						 
				 
			
				
					
						
							
							
								Bob Wilson 
							
						 
					 
					
						
						
							
						
						22a751ac13 
					 
					
						
						
							
							Remove test for iOS divmod function, since that is disabled for now.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130769  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-05-03 17:54:49 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c8578948c9 
					 
					
						
						
							
							Remove -use-divmod-libcall. Let targets opt in when they are available.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129884  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-20 22:20:12 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						65279cb9bd 
					 
					
						
						
							
							Fix divmod libcall lowering. Convert to {S|U}DIVREM first and then expand the node to a libcall. rdar://9280991  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129633  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-16 03:08:26 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						2c69f8eec6 
					 
					
						
						
							
							Change -arm-divmod-libcall to a target neutral option.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129045  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-07 00:58:44 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						5b76c63f83 
					 
					
						
						
							
							Add test case.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128707  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-01 06:27:25 +00:00