David Blaikie
							
						 
						
							 
							
							
							
							
								
							
							
								83d382b1ca 
								
							 
						 
						
							
							
								
								Switch assert(0/false) llvm_unreachable.  
							
							 
							
							... 
							
							
							
							llvm-svn: 140367 
							
						 
						
							2011-09-23 05:06:16 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								2dadd3ebee 
								
							 
						 
						
							
							
								
								Fix comment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 139678 
							
						 
						
							2011-09-14 00:52:45 +00:00  
						
					 
				
					
						
							
							
								 
								John McCall
							
						 
						
							 
							
							
							
							
								
							
							
								30e4efd458 
								
							 
						 
						
							
							
								
								Correctly generate IR for casted "builtin" functions, where  
							
							 
							
							... 
							
							
							
							the builtin is really just a predefined declaration.  These are
totally valid to cast.
llvm-svn: 139657 
							
						 
						
							2011-09-13 23:05:03 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								84d2812111 
								
							 
						 
						
							
							
								
								Re-commit r139643.  
							
							 
							
							... 
							
							
							
							Make clang use Acquire loads and Release stores where necessary.
llvm-svn: 139650 
							
						 
						
							2011-09-13 22:21:56 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								acca089617 
								
							 
						 
						
							
							
								
								Revert r139643 while I look into it; it's breaking selfhost.  
							
							 
							
							... 
							
							
							
							llvm-svn: 139648 
							
						 
						
							2011-09-13 22:08:16 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								f92b2e0714 
								
							 
						 
						
							
							
								
								Make clang use Acquire loads and Release stores where necessary.  
							
							 
							
							... 
							
							
							
							llvm-svn: 139643 
							
						 
						
							2011-09-13 21:31:32 +00:00  
						
					 
				
					
						
							
							
								 
								Julien Lerouge
							
						 
						
							 
							
							
							
							
								
							
							
								e0d5fad37b 
								
							 
						 
						
							
							
								
								Remove trailing } in comment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 139424 
							
						 
						
							2011-09-09 22:46:39 +00:00  
						
					 
				
					
						
							
							
								 
								Julien Lerouge
							
						 
						
							 
							
							
							
							
								
							
							
								5a6b6987dc 
								
							 
						 
						
							
							
								
								Bring llvm.annotation* intrinsics support back to where it was in llvm-gcc: can  
							
							 
							
							... 
							
							
							
							annotate global, local variables, struct fields, or arbitrary statements (using
the __builtin_annotation), rdar://8037476.
llvm-svn: 139423 
							
						 
						
							2011-09-09 22:41:49 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								e9f8113ec4 
								
							 
						 
						
							
							
								
								Switch clang over to using fence/atomicrmw/cmpxchg instead of the intrinsics (which will go away).  LLVM CodeGen does almost exactly the same thing with these and the old intrinsics, so I'm reasonably confident this will not break anything.  
							
							 
							
							... 
							
							
							
							There are still a few issues which need to be resolved with code generation for atomic load and store, so I'm not converting the places which need those for now.
I'm not entirely sure what to do about __builtin_llvm_memory_barrier: the fence instruction doesn't expose all the possibilities which can be expressed by __builtin_llvm_memory_barrier.  I would appreciate hearing from anyone who is using this intrinsic.
llvm-svn: 139216 
							
						 
						
							2011-09-07 01:41:24 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								c14efa7122 
								
							 
						 
						
							
							
								
								Fix a handful of dead stores found by Clang's static analyzer.  There's a bunch of others I haven't touched.  
							
							 
							
							... 
							
							
							
							llvm-svn: 137867 
							
						 
						
							2011-08-17 21:04:19 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								445c24f8f0 
								
							 
						 
						
							
							
								
								Move handling of vget_lane/vset_lane before the code that checks the type.  
							
							 
							
							... 
							
							
							
							Unlike most of the other Neon intrinsics, these are not overloaded and do not
have the extra argument that specifies the vector type.  This has not been
fatal because the lane number operand is supposed to be an ICE and so that
value has harmlessly been used as the type identifier.  Radar 9901281.
llvm-svn: 137550 
							
						 
						
							2011-08-13 05:03:46 +00:00  
						
					 
				
					
						
							
							
								 
								Jay Foad
							
						 
						
							 
							
							
							
							
								
							
							
								5709f7c5f7 
								
							 
						 
						
							
							
								
								Remove some unnecessary single element array temporaries.  
							
							 
							
							... 
							
							
							
							llvm-svn: 136461 
							
						 
						
							2011-07-29 13:56:53 +00:00  
						
					 
				
					
						
							
							
								 
								Frits van Bommel
							
						 
						
							 
							
							
							
							
								
							
							
								ede0dc6dda 
								
							 
						 
						
							
							
								
								Shorten some expressions by using ArrayRef::slice().  
							
							 
							
							... 
							
							
							
							llvm-svn: 135910 
							
						 
						
							2011-07-25 15:13:01 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0e62c1cc0b 
								
							 
						 
						
							
							
								
								remove unneeded llvm:: namespace qualifiers on some core types now that LLVM.h imports  
							
							 
							
							... 
							
							
							
							them into the clang namespace.
llvm-svn: 135852 
							
						 
						
							2011-07-23 10:55:15 +00:00  
						
					 
				
					
						
							
							
								 
								Frits van Bommel
							
						 
						
							 
							
							
							
							
								
							
							
								717d7edd3e 
								
							 
						 
						
							
							
								
								Migrate LLVM and Clang to use the new makeArrayRef(...) functions where previously explicit non-default constructors were used.  
							
							 
							
							... 
							
							
							
							Mostly mechanical with some manual reformatting.
llvm-svn: 135390 
							
						 
						
							2011-07-18 12:00:32 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2192fe50da 
								
							 
						 
						
							
							
								
								de-constify llvm::Type, patch by David Blaikie!  
							
							 
							
							... 
							
							
							
							llvm-svn: 135370 
							
						 
						
							2011-07-18 04:24:23 +00:00  
						
					 
				
					
						
							
							
								 
								Jay Foad
							
						 
						
							 
							
							
							
							
								
							
							
								5bd375a6cc 
								
							 
						 
						
							
							
								
								Convert CallInst and InvokeInst APIs to use ArrayRef.  
							
							 
							
							... 
							
							
							
							llvm-svn: 135265 
							
						 
						
							2011-07-15 08:37:34 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								8d375cef55 
								
							 
						 
						
							
							
								
								Change intrinsic getter to take an ArrayRef, now that the underlying function in LLVM does.  
							
							 
							
							... 
							
							
							
							llvm-svn: 135155 
							
						 
						
							2011-07-14 17:45:50 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a5f58b05e8 
								
							 
						 
						
							
							
								
								clang side to match the LLVM IR type system rewrite patch.  
							
							 
							
							... 
							
							
							
							llvm-svn: 134831 
							
						 
						
							2011-07-09 17:41:47 +00:00  
						
					 
				
					
						
							
							
								 
								Jakub Staszak
							
						 
						
							 
							
							
							
							
								
							
							
								d2cf2cbae9 
								
							 
						 
						
							
							
								
								Introduce __builtin_expect() intrinsic support.  
							
							 
							
							... 
							
							
							
							llvm-svn: 134761 
							
						 
						
							2011-07-08 22:45:14 +00:00  
						
					 
				
					
						
							
							
								 
								Cameron Zwarich
							
						 
						
							 
							
							
							
							
								
							
							
								ae7bc98710 
								
							 
						 
						
							
							
								
								Add codegen support for the fma/fmal/fmaf builtins.  
							
							 
							
							... 
							
							
							
							llvm-svn: 134743 
							
						 
						
							2011-07-08 21:39:34 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								6bc2164d2a 
								
							 
						 
						
							
							
								
								Revert "Shorten some ARM builtin names by removing unnecessary "neon" prefix."  
							
							 
							
							... 
							
							
							
							Sorry, this was a bad idea.  Within clang these builtins are in a separate
"ARM" namespace, but the actual builtin names should clearly distinguish tha
they are target specific.
llvm-svn: 133833 
							
						 
						
							2011-06-24 22:13:26 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								932e5b5d52 
								
							 
						 
						
							
							
								
								Shorten some ARM builtin names by removing unnecessary "neon" prefix.  
							
							 
							
							... 
							
							
							
							llvm-svn: 133826 
							
						 
						
							2011-06-24 21:32:46 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								845511fe1c 
								
							 
						 
						
							
							
								
								update for api change.  
							
							 
							
							... 
							
							
							
							llvm-svn: 133365 
							
						 
						
							2011-06-18 22:49:11 +00:00  
						
					 
				
					
						
							
							
								 
								Bruno Cardoso Lopes
							
						 
						
							 
							
							
							
							
								
							
							
								3b0297a98c 
								
							 
						 
						
							
							
								
								Update the prefetch intrinsic usage. Now the last argument tells codegen  
							
							 
							
							... 
							
							
							
							whether it's a data or instruction cache access.
llvm-svn: 132977 
							
						 
						
							2011-06-14 05:00:30 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								df1fb13a5c 
								
							 
						 
						
							
							
								
								Eliminate temporary argument vectors.  
							
							 
							
							... 
							
							
							
							llvm-svn: 132260 
							
						 
						
							2011-05-28 14:26:31 +00:00  
						
					 
				
					
						
							
							
								 
								Bruno Cardoso Lopes
							
						 
						
							 
							
							
							
							
								
							
							
								fe73374d7a 
								
							 
						 
						
							
							
								
								Add support for ARM ldrexd/strexd builtins  
							
							 
							
							... 
							
							
							
							llvm-svn: 132249 
							
						 
						
							2011-05-28 04:11:33 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								bb455154a1 
								
							 
						 
						
							
							
								
								Remove the 'unaligned load' builtins now that they're no longer used in the *mmintrin.h files.  
							
							 
							
							... 
							
							
							
							llvm-svn: 131300 
							
						 
						
							2011-05-13 18:52:28 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								e106c34817 
								
							 
						 
						
							
							
								
								LLVM doesn't always optimize away the four loads from this:  
							
							 
							
							... 
							
							
							
							(__m128){ p[0], p[1], p[2], p[3] }
which produces really bad code. This could be done in instcombine, but it's
probably better to do it in the front-end instead.
<rdar://problem/9424836>
llvm-svn: 131237 
							
						 
						
							2011-05-12 19:02:15 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								6869b6abf8 
								
							 
						 
						
							
							
								
								Simplification noticed by Chris.  
							
							 
							
							... 
							
							
							
							llvm-svn: 130864 
							
						 
						
							2011-05-04 20:28:12 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								5f9150b5b1 
								
							 
						 
						
							
							
								
								Convert the non-temporal store builtins to LLVM-native IR.  
							
							 
							
							... 
							
							
							
							llvm-svn: 130830 
							
						 
						
							2011-05-04 02:40:38 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								24ac1599fc 
								
							 
						 
						
							
							
								
								Generalize case for built-in expressions having  
							
							 
							
							... 
							
							
							
							side-effect to generate their ir. Not just for
__builtin_expect. // rdar://9330105
llvm-svn: 130172 
							
						 
						
							2011-04-25 23:10:07 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								5a866c0bf2 
								
							 
						 
						
							
							
								
								Ir-gen the side-effect(s) when __builtin_expect is  
							
							 
							
							... 
							
							
							
							constant-folded. // rdar://9330105
llvm-svn: 130163 
							
						 
						
							2011-04-25 22:30:02 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								54fd1a1ad3 
								
							 
						 
						
							
							
								
								fix a crash on code that uses the result value of __builtin___memcpy_chk.  
							
							 
							
							... 
							
							
							
							llvm-svn: 129892 
							
						 
						
							2011-04-20 23:14:50 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								30107ed600 
								
							 
						 
						
							
							
								
								fold memcpy/set/move_chk to llvm.memcpy/set/move when the sizes  
							
							 
							
							... 
							
							
							
							are trivial.  This exposes opportunities earlier, and allows fastisel
to do good things with these at -O0.
This addresses rdar://9289468 - clang doesn't fold memset_chk at -O0
llvm-svn: 129651 
							
						 
						
							2011-04-17 00:40:24 +00:00  
						
					 
				
					
						
							
							
								 
								Michael J. Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								6826eb816a 
								
							 
						 
						
							
							
								
								Add 3DNow! Intrinsics.  
							
							 
							
							... 
							
							
							
							llvm-svn: 129570 
							
						 
						
							2011-04-15 15:07:13 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								a865185ad6 
								
							 
						 
						
							
							
								
								Removing the unaligned load tests from builtins-x86.c since they're generated by a regular 'load' now.  
							
							 
							
							... 
							
							
							
							llvm-svn: 129464 
							
						 
						
							2011-04-13 20:17:22 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								88ae43772a 
								
							 
						 
						
							
							
								
								It looks like the FreeBSD buildbot needs this for the builtins-x86.c test.  
							
							 
							
							... 
							
							
							
							llvm-svn: 129433 
							
						 
						
							2011-04-13 10:02:54 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								b9c9e34cb3 
								
							 
						 
						
							
							
								
								Just use a native "load" instead of translating the builtin later. Clang can  
							
							 
							
							... 
							
							
							
							take it!
I wasn't able to get __builtin_ia32_loaddqu to transform into an unaligned
load...I'll have to look into it further.
llvm-svn: 129427 
							
						 
						
							2011-04-13 05:58:17 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								3137d3cb49 
								
							 
						 
						
							
							
								
								Convert the unaligned load builtins to the first-class versions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 129420 
							
						 
						
							2011-04-13 00:36:37 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9cb59fa834 
								
							 
						 
						
							
							
								
								add a __sync_swap builtin to fill out the rest of the __sync builtins.  
							
							 
							
							... 
							
							
							
							Patch by Dave Zarzycki!
llvm-svn: 129189 
							
						 
						
							2011-04-09 03:57:26 +00:00  
						
					 
				
					
						
							
							
								 
								Matt Beaumont-Gay
							
						 
						
							 
							
							
							
							
								
							
							
								873c6dd875 
								
							 
						 
						
							
							
								
								Oops, prefer C-style cast here  
							
							 
							
							... 
							
							
							
							llvm-svn: 128607 
							
						 
						
							2011-03-31 01:56:27 +00:00  
						
					 
				
					
						
							
							
								 
								Matt Beaumont-Gay
							
						 
						
							 
							
							
							
							
								
							
							
								a25fce8e9e 
								
							 
						 
						
							
							
								
								Silence GCC warning about differing types on the branches of a conditional expression  
							
							 
							
							... 
							
							
							
							llvm-svn: 128605 
							
						 
						
							2011-03-31 01:43:22 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								7201af3914 
								
							 
						 
						
							
							
								
								Use intrinsics for Neon vmull operations.  Radar 9208957.  
							
							 
							
							... 
							
							
							
							llvm-svn: 128590 
							
						 
						
							2011-03-31 00:09:00 +00:00  
						
					 
				
					
						
							
							
								 
								Jay Foad
							
						 
						
							 
							
							
							
							
								
							
							
								20c0f02cc5 
								
							 
						 
						
							
							
								
								Remove PHINode::reserveOperandSpace(). Instead, add a parameter to  
							
							 
							
							... 
							
							
							
							PHINode::Create() giving the (known or expected) number of operands.
llvm-svn: 128538 
							
						 
						
							2011-03-30 11:28:58 +00:00  
						
					 
				
					
						
							
							
								 
								Jay Foad
							
						 
						
							 
							
							
							
							
								
							
							
								27e20c3c58 
								
							 
						 
						
							
							
								
								(Almost) always call reserveOperandSpace() on newly created PHINodes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 128534 
							
						 
						
							2011-03-30 11:19:06 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								b4d3c99929 
								
							 
						 
						
							
							
								
								Make sure we aggressively attach nounwind (etc.) to calls to library  
							
							 
							
							... 
							
							
							
							functions of the form __builtin_XXX.
llvm-svn: 128198 
							
						 
						
							2011-03-24 05:09:45 +00:00  
						
					 
				
					
						
							
							
								 
								Eric Christopher
							
						 
						
							 
							
							
							
							
								
							
							
								cf5e83b471 
								
							 
						 
						
							
							
								
								__clear_cache() is varargs and people will occasionally write it without  
							
							 
							
							... 
							
							
							
							arguments. Process only the arguments that people write, but process
all of them.
Fixes rdar://8900346
llvm-svn: 127616 
							
						 
						
							2011-03-14 20:30:34 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								91c08ad14a 
								
							 
						 
						
							
							
								
								update for ConstantVector API change.  
							
							 
							
							... 
							
							
							
							llvm-svn: 125538 
							
						 
						
							2011-02-15 00:14:06 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								dd68bd0a65 
								
							 
						 
						
							
							
								
								revert my ConstantVector patch, it seems to have made the llvm-gcc  
							
							 
							
							... 
							
							
							
							builders unhappy.
llvm-svn: 125505 
							
						 
						
							2011-02-14 18:16:09 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2d9a7672db 
								
							 
						 
						
							
							
								
								update for ConstantVector::get API change.  
							
							 
							
							... 
							
							
							
							llvm-svn: 125488 
							
						 
						
							2011-02-14 07:55:40 +00:00  
						
					 
				
					
						
							
							
								 
								John McCall
							
						 
						
							 
							
							
							
							
								
							
							
								ad7c5c1657 
								
							 
						 
						
							
							
								
								Reorganize CodeGen{Function,Module} to eliminate the unfortunate  
							
							 
							
							... 
							
							
							
							Block{Function,Module} base class.  Minor other refactorings.
Fixed a few address-space bugs while I was there.
llvm-svn: 125085 
							
						 
						
							2011-02-08 08:22:06 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								582a0999fb 
								
							 
						 
						
							
							
								
								Null initialize a few variables flagged by  
							
							 
							
							... 
							
							
							
							clang's -Wuninitialized-experimental warning.
While these don't look like real bugs, clang's
-Wuninitialized-experimental analysis is stricter
than GCC's, and these fixes have the benefit
of being general nice cleanups.
llvm-svn: 124072 
							
						 
						
							2011-01-23 17:04:59 +00:00  
						
					 
				
					
						
							
							
								 
								John McCall
							
						 
						
							 
							
							
							
							
								
							
							
								20f6ab828a 
								
							 
						 
						
							
							
								
								Fix a latent bug where, after emitting an expression statement, we would  
							
							 
							
							... 
							
							
							
							delete the block we began emitting into if it had no predecessors.  We never
want to do this, because there are several valid cases during statement
emission where an existing block has no known predecessors but will acquire
some later.  The case in my test case doesn't inherently fall into this 
category, because we could safely emit the case-range code before the statement
body, but there are examples with labels that can't be fallen into 
that would also demonstrate this bug.
rdar://problem/8837067
llvm-svn: 123303 
							
						 
						
							2011-01-12 03:41:02 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								39f987ffd0 
								
							 
						 
						
							
							
								
								Make a helper function static.  
							
							 
							
							... 
							
							
							
							llvm-svn: 123118 
							
						 
						
							2011-01-09 13:21:33 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								acc6b4e2fd 
								
							 
						 
						
							
							
								
								Simplify mem{cpy, move, set} creation with IRBuilder.  
							
							 
							
							... 
							
							
							
							llvm-svn: 122634 
							
						 
						
							2010-12-30 00:13:21 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								63fbbc6ef8 
								
							 
						 
						
							
							
								
								Implement builtins for Neon half-precision float conversions.  
							
							 
							
							... 
							
							
							
							Also tweak the VCVT_F32_F16 entry in arm_neon.td to be more consistent with
the other floating-point conversion builtins.  Radar 8068427.
llvm-svn: 121916 
							
						 
						
							2010-12-15 23:36:44 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								546b691c73 
								
							 
						 
						
							
							
								
								Add missing switch case for the quad-register version of the Neon vmul builtin.  
							
							 
							
							... 
							
							
							
							llvm-svn: 121595 
							
						 
						
							2010-12-10 23:09:09 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								0348af667a 
								
							 
						 
						
							
							
								
								Fix clang crashes on Neon vld[234]_dup intrinsics with 64-bit element types.  
							
							 
							
							... 
							
							
							
							The 64-bit element vectors need to be handled as a special case.
llvm-svn: 121592 
							
						 
						
							2010-12-10 22:54:58 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								4c4a00a10b 
								
							 
						 
						
							
							
								
								Add missing switch case to handle builtin for Neon vqnegq.  
							
							 
							
							... 
							
							
							
							llvm-svn: 121468 
							
						 
						
							2010-12-10 06:26:19 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								d1767c5c15 
								
							 
						 
						
							
							
								
								LLVM's intrinsics for vpaddl and vpadal have 2 overloaded types.  
							
							 
							
							... 
							
							
							
							Clang was only specifying the overloaded result type.  PR8483.
llvm-svn: 121464 
							
						 
						
							2010-12-10 05:51:07 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								571c907cdf 
								
							 
						 
						
							
							
								
								Neon compare absolute LLVM intrinsics are not overloaded.  PR8484.  
							
							 
							
							... 
							
							
							
							llvm-svn: 121447 
							
						 
						
							2010-12-10 01:11:38 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								482afae812 
								
							 
						 
						
							
							
								
								Stop using builtins for the "_lane" variants of saturating multiply intrinsics.  
							
							 
							
							... 
							
							
							
							Remove the "splat" parameter from the EmitNeonCall function, since it is no
longer needed.
llvm-svn: 121300 
							
						 
						
							2010-12-08 22:37:56 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								b038120094 
								
							 
						 
						
							
							
								
								Stop using clang builtins for Neon vabdl and vabal intrinsics.  
							
							 
							
							... 
							
							
							
							llvm-svn: 121288 
							
						 
						
							2010-12-08 21:39:47 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								7d66df9c33 
								
							 
						 
						
							
							
								
								Stop using clang builtins for Neon vaba intrinsics.  
							
							 
							
							... 
							
							
							
							llvm-svn: 121277 
							
						 
						
							2010-12-08 20:09:54 +00:00  
						
					 
				
					
						
							
							
								 
								Chandler Carruth
							
						 
						
							 
							
							
							
							
								
							
							
								8005adf031 
								
							 
						 
						
							
							
								
								Silence an unused variable warning.  
							
							 
							
							... 
							
							
							
							llvm-svn: 121221 
							
						 
						
							2010-12-08 01:29:17 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								8811c3a72e 
								
							 
						 
						
							
							
								
								Stop using clang builtins for Neon vadd[lw] and vsub[lw] intrinsics.  
							
							 
							
							... 
							
							
							
							llvm-svn: 121214 
							
						 
						
							2010-12-08 00:14:43 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								f81b09db68 
								
							 
						 
						
							
							
								
								Stop using clang builtins for Neon vmlal{_n,_lane} and vmlsl{_n,_lane}.  
							
							 
							
							... 
							
							
							
							llvm-svn: 121210 
							
						 
						
							2010-12-07 23:54:55 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								210f6ddecc 
								
							 
						 
						
							
							
								
								Stop using a clang builtin for Neon vdup_lane intrinsics.  
							
							 
							
							... 
							
							
							
							llvm-svn: 121191 
							
						 
						
							2010-12-07 22:40:02 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								7f3c0aa96f 
								
							 
						 
						
							
							
								
								Stop using a clang builtin for Neon vmull_lane intrinsic.  
							
							 
							
							... 
							
							
							
							llvm-svn: 121189 
							
						 
						
							2010-12-07 22:03:46 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								160fdf49e4 
								
							 
						 
						
							
							
								
								Add a missing parameter, without which clang crashes for vqshlu_n intrinsics.  
							
							 
							
							... 
							
							
							
							llvm-svn: 121188 
							
						 
						
							2010-12-07 22:03:43 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								7795599f4b 
								
							 
						 
						
							
							
								
								Add support for vmul_p8 Neon intrinsic.  Radar 8446141.  
							
							 
							
							... 
							
							
							
							llvm-svn: 120812 
							
						 
						
							2010-12-03 17:29:39 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								4fa993fc51 
								
							 
						 
						
							
							
								
								Add a separate rightShift flag instead of reusing the existing "poly" variable  
							
							 
							
							... 
							
							
							
							to distinguish vsri/vsli.
llvm-svn: 120806 
							
						 
						
							2010-12-03 17:10:22 +00:00  
						
					 
				
					
						
							
							
								 
								John McCall
							
						 
						
							 
							
							
							
							
								
							
							
								3a7f6926d1 
								
							 
						 
						
							
							
								
								Restore r117403 (fixing IR gen for bool atomics), this time being less  
							
							 
							
							... 
							
							
							
							aggressive about the form we expect bools to be in.  I don't really have
time to fix all the sources right now.
llvm-svn: 117486 
							
						 
						
							2010-10-27 20:58:56 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								9d798a07e4 
								
							 
						 
						
							
							
								
								Revert r117403 as it caused PR8480.  
							
							 
							
							... 
							
							
							
							llvm-svn: 117456 
							
						 
						
							2010-10-27 17:13:49 +00:00  
						
					 
				
					
						
							
							
								 
								John McCall
							
						 
						
							 
							
							
							
							
								
							
							
								6bde954f47 
								
							 
						 
						
							
							
								
								Extract procedures to do scalar-to-memory and memory-to-scalar conversions  
							
							 
							
							... 
							
							
							
							in IR gen, and use those to fix a correctness issue with bool atomic
intrinsics.  rdar://problem/8461234
llvm-svn: 117403 
							
						 
						
							2010-10-26 22:09:15 +00:00  
						
					 
				
					
						
							
							
								 
								Argyrios Kyrtzidis
							
						 
						
							 
							
							
							
							
								
							
							
								073c9cb592 
								
							 
						 
						
							
							
								
								Implement __builtin_ia32_vec_ext_v2si function (required by Qt).  
							
							 
							
							... 
							
							
							
							llvm-svn: 116162 
							
						 
						
							2010-10-10 03:19:11 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								65b2a965fb 
								
							 
						 
						
							
							
								
								Add target implementations for the X86 builtins:  
							
							 
							
							... 
							
							
							
							__builtin_ia32_vec_init_v8qi
  __builtin_ia32_vec_init_v4hi
  __builtin_ia32_vec_init_v2si
They are lowered to bitcasts. (These are all ready tested by the gcc testsuite.)
<rdar://problem/8529957>
llvm-svn: 116147 
							
						 
						
							2010-10-09 08:47:25 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								64d7f2a014 
								
							 
						 
						
							
							
								
								when expanding a builtin, if the argument is required to be a constant,  
							
							 
							
							... 
							
							
							
							force it to be a constant instead of emitting with EmitScalarExpr.  In
-ftrapv mode, they are not the same.
This fixes rdar://8478728 + PR8221
llvm-svn: 115388 
							
						 
						
							2010-10-02 00:09:12 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								07e96866a2 
								
							 
						 
						
							
							
								
								tidy  
							
							 
							
							... 
							
							
							
							llvm-svn: 115383 
							
						 
						
							2010-10-01 23:43:16 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								11191f11b8 
								
							 
						 
						
							
							
								
								Accidentally committed some temporary changes on my branch when reverting patches.  
							
							 
							
							... 
							
							
							
							llvm-svn: 114936 
							
						 
						
							2010-09-28 01:28:56 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								6d8c442e08 
								
							 
						 
						
							
							
								
								Temporarily revert 114929 114925 114924 114921. It looked like they (or at least  
							
							 
							
							... 
							
							
							
							one of them) was causing a series of failures:
http://google1.osuosl.org:8011/builders/clang-x86_64-darwin10-selfhost/builds/4518 
svn merge -c -114929 https://llvm.org/svn/llvm-project/cfe/trunk 
--- Reverse-merging r114929 into '.':
U    include/clang/Sema/Sema.h
U    include/clang/AST/DeclCXX.h
U    lib/Sema/SemaDeclCXX.cpp
U    lib/Sema/SemaTemplateInstantiateDecl.cpp
U    lib/Sema/SemaDecl.cpp
U    lib/Sema/SemaTemplateInstantiate.cpp
U    lib/AST/DeclCXX.cpp
svn merge -c -114925 https://llvm.org/svn/llvm-project/cfe/trunk 
--- Reverse-merging r114925 into '.':
G    include/clang/AST/DeclCXX.h
G    lib/Sema/SemaDeclCXX.cpp
G    lib/AST/DeclCXX.cpp
svn merge -c -114924 https://llvm.org/svn/llvm-project/cfe/trunk 
--- Reverse-merging r114924 into '.':
G    include/clang/AST/DeclCXX.h
G    lib/Sema/SemaDeclCXX.cpp
G    lib/Sema/SemaDecl.cpp
G    lib/AST/DeclCXX.cpp
U    lib/AST/ASTContext.cpp
svn merge -c -114921 https://llvm.org/svn/llvm-project/cfe/trunk 
--- Reverse-merging r114921 into '.':
G    include/clang/AST/DeclCXX.h
G    lib/Sema/SemaDeclCXX.cpp
G    lib/Sema/SemaDecl.cpp
G    lib/AST/DeclCXX.cpp
llvm-svn: 114933 
							
						 
						
							2010-09-28 01:09:49 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								1308667f18 
								
							 
						 
						
							
							
								
								Revert my patch changing the MMX "shift" intrinsics that take immediates into  
							
							 
							
							... 
							
							
							
							"shift with non-immediate" intrinsics. It gets here because we they aren't
immediates anymore.
llvm-svn: 114890 
							
						 
						
							2010-09-27 21:22:25 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b2f659b7a0 
								
							 
						 
						
							
							
								
								fix the rest of rdar://8461279 - clang miscompiles address-space qualified atomics  
							
							 
							
							... 
							
							
							
							llvm-svn: 114503 
							
						 
						
							2010-09-21 23:40:48 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c9066d3072 
								
							 
						 
						
							
							
								
								same bug as before, this time with __sync_val_compare_and_swap.  
							
							 
							
							... 
							
							
							
							llvm-svn: 114502 
							
						 
						
							2010-09-21 23:35:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7cf46bfda0 
								
							 
						 
						
							
							
								
								fix __sync_bool_compare_and_swap to work with address-space qualified types.  
							
							 
							
							... 
							
							
							
							llvm-svn: 114498 
							
						 
						
							2010-09-21 23:24:52 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								d632616f86 
								
							 
						 
						
							
							
								
								The MMX shift-with-immediate builtins require the equivalent  
							
							 
							
							... 
							
							
							
							shift-with-immediate LLVM intrinsics.
llvm-svn: 114239 
							
						 
						
							2010-09-17 23:46:16 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								6061b05d51 
								
							 
						 
						
							
							
								
								Translate NEON vabdl, vaba, and vabal builtins to be implemented using the  
							
							 
							
							... 
							
							
							
							vabd intrinsic combined with zext and add operations.
llvm-svn: 112937 
							
						 
						
							2010-09-03 01:27:09 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								5b4904f7a3 
								
							 
						 
						
							
							
								
								Add a bunch of missing bitcasts for clang NEON builtin expansions.  
							
							 
							
							... 
							
							
							
							Radar 8388233 
llvm-svn: 112890 
							
						 
						
							2010-09-02 22:37:30 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								1b87c9a646 
								
							 
						 
						
							
							
								
								Translate NEON vmull, vmlal, and vmlsl builtins to llvm multiply-add/sub  
							
							 
							
							... 
							
							
							
							with zext/sext operations, instead of to llvm intrinsics.  I have a plan to
avoid the clang builtins for these, but it is going to take a little longer
and I want to get the NEON intrinsics updated before the 2.8 release.
llvm-svn: 112764 
							
						 
						
							2010-09-01 23:20:27 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								b9225f7f85 
								
							 
						 
						
							
							
								
								Translate NEON vmovn builtin to a vector truncation instead of using an llvm  
							
							 
							
							... 
							
							
							
							intrinsic.
llvm-svn: 112504 
							
						 
						
							2010-08-30 19:57:13 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								0e7a398936 
								
							 
						 
						
							
							
								
								Translate NEON vaddl, vaddw, vsubl, and vsubw builtins to llvm add/sub  
							
							 
							
							... 
							
							
							
							with zext/sext operations, instead of to llvm intrinsics.  (We can also
get rid of the clang builtins and handle these entirely in the arm_neon.h
header if there is a way to express vector sext/zext in C.)
llvm-svn: 112413 
							
						 
						
							2010-08-29 05:14:28 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								7b0d032d0c 
								
							 
						 
						
							
							
								
								Add the new alignment arguments for NEON load/store intrinsics, based on the  
							
							 
							
							... 
							
							
							
							types of the pointer address expressions used with those intrinsics.
llvm-svn: 112272 
							
						 
						
							2010-08-27 17:14:29 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								e3d87d21f3 
								
							 
						 
						
							
							
								
								IRgen/NEON: Fix codegen of vzip and vzipq.  
							
							 
							
							... 
							
							
							
							- Will be adding an executable test case to test-suite repo.
llvm-svn: 112126 
							
						 
						
							2010-08-26 00:55:57 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								b02244969d 
								
							 
						 
						
							
							
								
								Translate NEON vmovl intrinsics to zero/sign-extend operations.  
							
							 
							
							... 
							
							
							
							llvm-svn: 111612 
							
						 
						
							2010-08-20 03:36:08 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								ad5dd42817 
								
							 
						 
						
							
							
								
								vdup_lane was missing  
							
							 
							
							... 
							
							
							
							<rdar://problem/8278732>
llvm-svn: 110420 
							
						 
						
							2010-08-06 01:24:57 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								f568b074db 
								
							 
						 
						
							
							
								
								Add support for VFP status & control operations for ARM.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110153 
							
						 
						
							2010-08-03 21:32:34 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								1194bd2bd8 
								
							 
						 
						
							
							
								
								Wire up sema checking for __builtin_arm_usat and __builtin_arm_ssat immediates.  
							
							 
							
							... 
							
							
							
							llvm-svn: 109814 
							
						 
						
							2010-07-29 22:48:34 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								0ebca28f1d 
								
							 
						 
						
							
							
								
								2nd argument of __builtin_expect must be evaluated  
							
							 
							
							... 
							
							
							
							if it hs side-effect to matchgcc's behaviour.
Addresses radar 8172109.
llvm-svn: 109467 
							
						 
						
							2010-07-26 23:11:03 +00:00  
						
					 
				
					
						
							
							
								 
								Chandler Carruth
							
						 
						
							 
							
							
							
							
								
							
							
								bc8cab16c5 
								
							 
						 
						
							
							
								
								Improve the representation of the atomic builtins in a few ways. First, we make  
							
							 
							
							... 
							
							
							
							their call expressions synthetically have the "deduced" types based on their
first argument. We only insert conversions in the AST for arguments whose
values require conversion to match the value type expected. This keeps PR7600
closed by maintaining the return type, but avoids assertions due to unexpected
implicit casts making the type unsigned (test case added from Daniel).
The magic is moved into the codegen for the atomic builtin which inserts the
casts as needed at the IR level to raise the type to an integer suitable for
the LLVM intrinsic. This shouldn't cause any real change in functionality, but
now we can make the builtin be more truly polymorphic.
llvm-svn: 108638 
							
						 
						
							2010-07-18 07:23:17 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5e016ae983 
								
							 
						 
						
							
							
								
								finally get around to doing a significant cleanup to irgen:  
							
							 
							
							... 
							
							
							
							have CGF create and make accessible standard int32,int64 and 
intptr types.  This fixes a ton of 80 column violations 
introduced by LLVMContextification and cleans up stuff a lot.
llvm-svn: 106977 
							
						 
						
							2010-06-27 07:15:29 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								ed48c857dc 
								
							 
						 
						
							
							
								
								Implement remaining codegen for NEON, all operations should now work.  
							
							 
							
							... 
							
							
							
							llvm-svn: 106407 
							
						 
						
							2010-06-20 23:05:28 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								cc50b7d7d5 
								
							 
						 
						
							
							
								
								More AltiVec support.  
							
							 
							
							... 
							
							
							
							Patch by Anton Yartsev!
llvm-svn: 106387 
							
						 
						
							2010-06-19 09:47:18 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								dbafec1f3e 
								
							 
						 
						
							
							
								
								Remove last of the bool shifts for MS VC++, patch by dimitry andric  
							
							 
							
							... 
							
							
							
							llvm-svn: 106206 
							
						 
						
							2010-06-17 02:26:59 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								4a30307840 
								
							 
						 
						
							
							
								
								Fixed conflict between objc_memmove_collectable builtin  
							
							 
							
							... 
							
							
							
							decl. and one ddefined in darwin header file.
llvm-svn: 106107 
							
						 
						
							2010-06-16 16:22:04 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								021510e96f 
								
							 
						 
						
							
							
								
								Patch adds support for copying of those  
							
							 
							
							... 
							
							
							
							objective-c++ class objects which have GC'able objc object
pointers and need to use ObjC's objc_memmove_collectable
API (radar 8070772). 
llvm-svn: 106061 
							
						 
						
							2010-06-15 22:44:06 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								7039fcbc5d 
								
							 
						 
						
							
							
								
								An implementation of __builtin__fpclassify the way Chris Lattner described by Jörg Blank.  
							
							 
							
							... 
							
							
							
							llvm-svn: 105936 
							
						 
						
							2010-06-14 10:30:41 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								91e1feab7a 
								
							 
						 
						
							
							
								
								Add some missing shifts  
							
							 
							
							... 
							
							
							
							Fix multiplies by scalar
Add SemaChecking code for all immediates
Add SemaChecking-gen support to arm_neon.td
llvm-svn: 105930 
							
						 
						
							2010-06-14 05:21:25 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								d773fe67dd 
								
							 
						 
						
							
							
								
								Most of NEON sema checking & fix to polynomial type detection  
							
							 
							
							... 
							
							
							
							llvm-svn: 105908 
							
						 
						
							2010-06-13 04:47:52 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								c6ac0ce89f 
								
							 
						 
						
							
							
								
								Shifts complete.  Only vld & sema checking of constants remain.  
							
							 
							
							... 
							
							
							
							llvm-svn: 105879 
							
						 
						
							2010-06-12 06:06:07 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								dd715805ab 
								
							 
						 
						
							
							
								
								vbsl, vrev* is implemented via arm_neon.h  
							
							 
							
							... 
							
							
							
							llvm-svn: 105875 
							
						 
						
							2010-06-12 03:11:41 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								8ed060b95a 
								
							 
						 
						
							
							
								
								Most of remaining builtins, 2 generics, vld, and rounding shfits remain.  
							
							 
							
							... 
							
							
							
							llvm-svn: 105848 
							
						 
						
							2010-06-11 22:57:12 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								e0935ffa50 
								
							 
						 
						
							
							
								
								Multiplies, some shifts, set_lane  
							
							 
							
							... 
							
							
							
							llvm-svn: 105793 
							
						 
						
							2010-06-10 18:11:55 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								4a04b467d9 
								
							 
						 
						
							
							
								
								support _lane ops, and multiplies by scalar.  
							
							 
							
							... 
							
							
							
							llvm-svn: 105770 
							
						 
						
							2010-06-10 00:17:56 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								d90aa43bdf 
								
							 
						 
						
							
							
								
								Implement codegen for hadd, hsub, max, min, mlal, movl, movn, padal, mov_n  
							
							 
							
							... 
							
							
							
							Make note about how to handle the dozen or so multiply by scalar ops.
llvm-svn: 105734 
							
						 
						
							2010-06-09 18:04:15 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								4307a25545 
								
							 
						 
						
							
							
								
								More accurate BuiltinsARM.def  
							
							 
							
							... 
							
							
							
							vget_lane support
llvm-svn: 105684 
							
						 
						
							2010-06-09 05:30:26 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								6bb986d530 
								
							 
						 
						
							
							
								
								Simplify the code a bit and avoid a gcc waring about uninitialized variables.  
							
							 
							
							... 
							
							
							
							llvm-svn: 105676 
							
						 
						
							2010-06-09 03:48:40 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								5548309fa7 
								
							 
						 
						
							
							
								
								Implement transpose/zip/unzip & table lookup.  
							
							 
							
							... 
							
							
							
							Test out some basic constant-checking.
llvm-svn: 105667 
							
						 
						
							2010-06-09 01:10:23 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								ae6b1d8010 
								
							 
						 
						
							
							
								
								Fix NEON intrinsic argument passing, support vext.  Most now successfully make it through codegen to the .s file  
							
							 
							
							... 
							
							
							
							llvm-svn: 105599 
							
						 
						
							2010-06-08 06:03:01 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								895e51de4a 
								
							 
						 
						
							
							
								
								Fix what looks like a merge problem that broke __clear_cache.  
							
							 
							
							... 
							
							
							
							llvm-svn: 105595 
							
						 
						
							2010-06-08 03:52:53 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								16372afeab 
								
							 
						 
						
							
							
								
								Implement ARM NEON up through vcvt, alphabetically.  
							
							 
							
							... 
							
							
							
							llvm-svn: 105590 
							
						 
						
							2010-06-08 00:17:19 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								a54062ef0c 
								
							 
						 
						
							
							
								
								Implement __clear_cache on ARM.  
							
							 
							
							... 
							
							
							
							llvm-svn: 105537 
							
						 
						
							2010-06-07 17:26:50 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								5968eb270a 
								
							 
						 
						
							
							
								
								weekend checkpoint of arm neon builtins codegen.  
							
							 
							
							... 
							
							
							
							TODO: add remainder of builtins to CGBuiltin, add code to SemaChecking to validate constants.
llvm-svn: 105532 
							
						 
						
							2010-06-07 16:01:56 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								ed0347333e 
								
							 
						 
						
							
							
								
								This cast is no longer needed; the FIXME is fixed.  
							
							 
							
							... 
							
							
							
							llvm-svn: 104919 
							
						 
						
							2010-05-28 01:45:35 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								4cf59b9e91 
								
							 
						 
						
							
							
								
								Update __builtin_setjmp codegen to match llvmCore changes in r104900.  
							
							 
							
							... 
							
							
							
							llvm-svn: 104902 
							
						 
						
							2010-05-27 23:54:20 +00:00  
						
					 
				
					
						
							
							
								 
								John McCall
							
						 
						
							 
							
							
							
							
								
							
							
								02269a66b3 
								
							 
						 
						
							
							
								
								Enable the implementation of __builtin_setjmp and __builtin_longjmp.  Not all  
							
							 
							
							... 
							
							
							
							LLVM backends support these yet.
llvm-svn: 104867 
							
						 
						
							2010-05-27 18:47:06 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								fdb61d78e9 
								
							 
						 
						
							
							
								
								Implement codegen for __builtin_isnormal.  
							
							 
							
							... 
							
							
							
							llvm-svn: 104118 
							
						 
						
							2010-05-19 11:24:26 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3628326b44 
								
							 
						 
						
							
							
								
								add todos for isinf_sign and isnormal, which I don't intend to implement  
							
							 
							
							... 
							
							
							
							in the near future.
llvm-svn: 103169 
							
						 
						
							2010-05-06 06:13:53 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								dbff4bf5f4 
								
							 
						 
						
							
							
								
								implement codegen support for __builtin_isfinite, part of PR6083  
							
							 
							
							... 
							
							
							
							llvm-svn: 103168 
							
						 
						
							2010-05-06 06:04:13 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								43660c5bc0 
								
							 
						 
						
							
							
								
								implement part of PR6083: codegen support for isinf.  Like isnan,  
							
							 
							
							... 
							
							
							
							this is generating correct but suboptimal (extra extend to double)
code for the float case.  Will investigate next.
llvm-svn: 103166 
							
						 
						
							2010-05-06 05:35:16 +00:00  
						
					 
				
					
						
							
							
								 
								Eric Christopher
							
						 
						
							 
							
							
							
							
								
							
							
								1bbc7086ff 
								
							 
						 
						
							
							
								
								Rewrite handling of 64-bit palignr intrinsics to be vector shuffles.  
							
							 
							
							... 
							
							
							
							Stop multiplying constant by 8 accordingly in the header and change
intrinsic definition for what types we expect.
Add to existing palignr test to check that we're emitting the correct things.
llvm-svn: 101332 
							
						 
						
							2010-04-15 01:43:08 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								dad4062b4d 
								
							 
						 
						
							
							
								
								implement altivec.h and a bunch of support code, patch by Anton Yartsev!  
							
							 
							
							... 
							
							
							
							llvm-svn: 101215 
							
						 
						
							2010-04-14 03:54:58 +00:00  
						
					 
				
					
						
							
							
								 
								John McCall
							
						 
						
							 
							
							
							
							
								
							
							
								8586bfd85d 
								
							 
						 
						
							
							
								
								@llvm.sqrt isn't really close enough to C's sqrt to justify emitting calls  
							
							 
							
							... 
							
							
							
							to the intrinsic, even when math-errno is off.
Fixes rdar://problem/7828230 by falling back on the library function.
llvm-svn: 100613 
							
						 
						
							2010-04-07 08:20:20 +00:00  
						
					 
				
					
						
							
							
								 
								Mon P Wang
							
						 
						
							 
							
							
							
							
								
							
							
								cc2ab0cdc9 
								
							 
						 
						
							
							
								
								Reapply patch for adding support for address spaces and added a isVolatile field to memcpy, memmove, and memset.  
							
							 
							
							... 
							
							
							
							llvm-svn: 100305 
							
						 
						
							2010-04-04 03:10:52 +00:00  
						
					 
				
					
						
							
							
								 
								Mon P Wang
							
						 
						
							 
							
							
							
							
								
							
							
								f7f3bff646 
								
							 
						 
						
							
							
								
								Revert r100193 since it causes failures in objc in clang  
							
							 
							
							... 
							
							
							
							llvm-svn: 100200 
							
						 
						
							2010-04-02 18:43:42 +00:00  
						
					 
				
					
						
							
							
								 
								Mon P Wang
							
						 
						
							 
							
							
							
							
								
							
							
								4b82a88764 
								
							 
						 
						
							
							
								
								Reapply patch for adding support for address spaces and added a isVolatile field to memcpy, memmove, and memset.  
							
							 
							
							... 
							
							
							
							llvm-svn: 100193 
							
						 
						
							2010-04-02 18:04:30 +00:00  
						
					 
				
					
						
							
							
								 
								Bob Wilson
							
						 
						
							 
							
							
							
							
								
							
							
								adb58e32cc 
								
							 
						 
						
							
							
								
								Revert Mon Ping's 99930 due to broken llvm-gcc buildbots.  
							
							 
							
							... 
							
							
							
							llvm-svn: 99949 
							
						 
						
							2010-03-30 22:28:46 +00:00  
						
					 
				
					
						
							
							
								 
								Mon P Wang
							
						 
						
							 
							
							
							
							
								
							
							
								231e99743a 
								
							 
						 
						
							
							
								
								Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset  
							
							 
							
							... 
							
							
							
							llvm-svn: 99930 
							
						 
						
							2010-03-30 21:02:45 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								3f540c0d7d 
								
							 
						 
						
							
							
								
								Remove support for nand atomic builtins. They are inconsistently implemented in  
							
							 
							
							... 
							
							
							
							gcc, and the common expectation seems to be that they are unused. If and when
someone cares we can add them back with well documented demantics.
llvm-svn: 99522 
							
						 
						
							2010-03-25 17:13:09 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								4ff562d557 
								
							 
						 
						
							
							
								
								IRgen: Wrap atomic intrinsics with memory barriers, to ensure we honor the semantics.  
							
							 
							
							... 
							
							
							
							- This should be conservatively correct, we eventually should have target hooks for platforms that are less strict.
llvm-svn: 99050 
							
						 
						
							2010-03-20 07:04:11 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								99d20f83ba 
								
							 
						 
						
							
							
								
								PR6515: Implement __builtin_signbit and friends.  
							
							 
							
							... 
							
							
							
							I'm reasonably sure my implementation is correct, but it would be nice if
someone could double-check.
llvm-svn: 97864 
							
						 
						
							2010-03-06 02:17:52 +00:00  
						
					 
				
					
						
							
							
								 
								John McCall
							
						 
						
							 
							
							
							
							
								
							
							
								beec5a080f 
								
							 
						 
						
							
							
								
								Implement __builtin_dwarf_sp_column for i386 (Darwin and not), x86-64 (all),  
							
							 
							
							... 
							
							
							
							and ARM.  Implement __builtin_init_dwarf_reg_size_table for i386 (both) and
x86-64 (all).
llvm-svn: 97859 
							
						 
						
							2010-03-06 00:35:14 +00:00  
						
					 
				
					
						
							
							
								 
								John McCall
							
						 
						
							 
							
							
							
							
								
							
							
								731be6620c 
								
							 
						 
						
							
							
								
								Revert changes r97693, r97700, and r97718.  
							
							 
							
							... 
							
							
							
							Our testing framework can't deal with disabled targets yet.
llvm-svn: 97719 
							
						 
						
							2010-03-04 04:29:44 +00:00  
						
					 
				
					
						
							
							
								 
								John McCall
							
						 
						
							 
							
							
							
							
								
							
							
								81d4d12504 
								
							 
						 
						
							
							
								
								Implement __builtin_dwarf_sp_column().  
							
							 
							
							... 
							
							
							
							llvm-svn: 97700 
							
						 
						
							2010-03-04 00:44:01 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5cc15e058b 
								
							 
						 
						
							
							
								
								add framework for ARM builtins, Patch by Edmund Grimley Evans!  
							
							 
							
							... 
							
							
							
							llvm-svn: 97656 
							
						 
						
							2010-03-03 19:03:45 +00:00  
						
					 
				
					
						
							
							
								 
								John McCall
							
						 
						
							 
							
							
							
							
								
							
							
								515c3c548c 
								
							 
						 
						
							
							
								
								Sketch out an implementation for __builtin_dwarf_cfa.  I have no idea  
							
							 
							
							... 
							
							
							
							why the front-end is calculating the argument to llvm.eh.dwarf.cfa().
llvm-svn: 97653 
							
						 
						
							2010-03-03 10:30:05 +00:00  
						
					 
				
					
						
							
							
								 
								John McCall
							
						 
						
							 
							
							
							
							
								
							
							
								66769f8544 
								
							 
						 
						
							
							
								
								Implement __builtin_eh_return.  
							
							 
							
							... 
							
							
							
							llvm-svn: 97643 
							
						 
						
							2010-03-03 05:38:58 +00:00  
						
					 
				
					
						
							
							
								 
								John McCall
							
						 
						
							 
							
							
							
							
								
							
							
								d4f4b7f5ee 
								
							 
						 
						
							
							
								
								Add proper target hooks for __builtin_extract_return_address and  
							
							 
							
							... 
							
							
							
							__builtin_frob_return_address.  The implementations for both are
still trivial in the default case.
llvm-svn: 97638 
							
						 
						
							2010-03-03 04:15:11 +00:00  
						
					 
				
					
						
							
							
								 
								John McCall
							
						 
						
							 
							
							
							
							
								
							
							
								b6cc2c0439 
								
							 
						 
						
							
							
								
								Inspired by seeing "MIPS" go by in the commits, I've gone ahead and  
							
							 
							
							... 
							
							
							
							implemented a (codegen) target hook for __builtin_extend_pointer.
I'm also making it return a uint64_t instead of an unsigned word;  this
comports with typical usage (i.e. the one use I know of).
I don't know if any of the existing targets requires this hook to be
set (other than x86 and x86_64, which I know do not).
llvm-svn: 97547 
							
						 
						
							2010-03-02 03:50:12 +00:00  
						
					 
				
					
						
							
							
								 
								John McCall
							
						 
						
							 
							
							
							
							
								
							
							
								4b613fae35 
								
							 
						 
						
							
							
								
								After much consultation aimed at figuring out what this builtin actually  
							
							 
							
							... 
							
							
							
							does, document the results and then implement __builtin_extend_pointer for
platforms where it's a no-op.
llvm-svn: 97540 
							
						 
						
							2010-03-02 02:31:24 +00:00