Jim Laskey 
							
						 
					 
					
						
						
							
						
						43970fec32 
					 
					
						
						
							
							Handle new forms of llvm.dbg intrinsics.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26988  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-23 18:06:46 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						f4321a3a43 
					 
					
						
						
							
							Handle the removal of the debug chain.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26729  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-13 13:07:37 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						59bcce5ae5 
					 
					
						
						
							
							remove dbg_declare, it's not used yet.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26659  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-09 20:02:42 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						03dd465215 
					 
					
						
						
							
							Split memcpy/memset/memmove intrinsics into i32/i64 versions, resolving  
						
						... 
						
						
						
						PR709, and paving the way for future progress.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26476  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-03 00:00:25 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						0b118206bf 
					 
					
						
						
							
							For PR411:  
						
						... 
						
						
						
						This patch is an incremental step towards supporting a flat symbol table.
It de-overloads the intrinsic functions by providing type-specific intrinsics
and arranging for automatically upgrading from the old overloaded name to
the new non-overloaded name. Specifically:
  llvm.isunordered -> llvm.isunordered.f32, llvm.isunordered.f64
  llvm.sqrt -> llvm.sqrt.f32, llvm.sqrt.f64
  llvm.ctpop -> llvm.ctpop.i8, llvm.ctpop.i16, llvm.ctpop.i32, llvm.ctpop.i64
  llvm.ctlz -> llvm.ctlz.i8, llvm.ctlz.i16, llvm.ctlz.i32, llvm.ctlz.i64
  llvm.cttz -> llvm.cttz.i8, llvm.cttz.i16, llvm.cttz.i32, llvm.cttz.i64
New code should not use the overloaded intrinsic names. Warnings will be
emitted if they are used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25366  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-16 21:12:35 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						e598181889 
					 
					
						
						
							
							Add BSWAP stuff to intrinsic lowering for CBE & friends.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25355  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-16 07:57:00 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						0c067bc11d 
					 
					
						
						
							
							Add "support" for the llvm.stacksave/stackrestore intrinsics, this is  
						
						... 
						
						
						
						used by the C backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25267  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-13 02:22:08 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						51b8d54922 
					 
					
						
						
							
							continued readcyclecounter support  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24300  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-11-11 16:47:30 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						66c5fd6c53 
					 
					
						
						
							
							When a function takes a variable number of pointer arguments, with a zero  
						
						... 
						
						
						
						pointer marking the end of the list, the zero *must* be cast to the pointer
type.  An un-cast zero is a 32-bit int, and at least on x86_64, gcc will
not extend the zero to 64 bits, thus allowing the upper 32 bits to be
random junk.
The new END_WITH_NULL macro may be used to annotate a such a function
so that GCC (version 4 or newer) will detect the use of un-casted zero
at compile time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23888  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-10-23 04:37:20 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						00b16889ab 
					 
					
						
						
							
							Eliminate all remaining tabs and trailing spaces.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22523  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-27 06:12:32 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						98cf45bbf6 
					 
					
						
						
							
							Fix lowering of ctlz, so now UnitTests/2005-05-11-Popcount-ffs-fls passes  
						
						... 
						
						
						
						with the CBE
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21875  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-05-11 20:24:12 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a801172e50 
					 
					
						
						
							
							Fix lowering of cttz to work with signed values  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21874  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-05-11 20:02:14 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						86f3e0c24e 
					 
					
						
						
							
							fix and concisify intinsic lowering for ctpop.  Unfortunately, this code  
						
						... 
						
						
						
						looks completely untested. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21873  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-05-11 19:42:05 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1f243e9f43 
					 
					
						
						
							
							Wrap long lines.  Fix "warning: conflicting types for built-in function 'memset'"  
						
						... 
						
						
						
						warning from the CBE+GCC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21779  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-05-08 19:46:29 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						691ef2ba06 
					 
					
						
						
							
							Implement count leading zeros (ctlz), count trailing zeros (cttz), and count  
						
						... 
						
						
						
						population (ctpop).  Generic lowering is implemented, however only promotion
is implemented for SelectionDAG at the moment.
More coming soon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21676  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-05-03 17:19:30 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						b1beff0f0d 
					 
					
						
						
							
							Do not use deprecated APIs  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21639  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-30 07:13:31 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b42a9ffbe9 
					 
					
						
						
							
							Lower llvm.sqrt -> fsqrt/sqrt  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21629  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-30 04:07:50 +00:00 
						 
				 
			
				
					
						
							
							
								Misha Brukman 
							
						 
					 
					
						
						
							
						
						edf128a7fa 
					 
					
						
						
							
							Remove trailing whitespace  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21420  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-21 22:36:52 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						7f4ec3b2e3 
					 
					
						
						
							
							First step in adding pcmarker intrinsic.  Second step (soon) is adding backend support.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20900  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-03-28 20:05:49 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e4d5c441e0 
					 
					
						
						
							
							This mega patch converts us from using Function::a{iterator|begin|end} to  
						
						... 
						
						
						
						using Function::arg_{iterator|begin|end}.  Likewise Module::g* -> Module::global_*.
This patch is contributed by Gabor Greif, thanks!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20597  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-03-15 04:54:21 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						d0656fc94d 
					 
					
						
						
							
							Lower llvm.isunordered(a, b) into a != a | b != b.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20382  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-03-01 02:07:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						0942b7caf1 
					 
					
						
						
							
							Lower prefetch to a noop, patch contributed by Justin Wick!  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20375  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-02-28 19:27:23 +00:00 
						 
				 
			
				
					
						
							
							
								Misha Brukman 
							
						 
					 
					
						
						
							
						
						47b14a4a6a 
					 
					
						
						
							
							Fix #includes of i*.h => Instructions.h as per PR403.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15334  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-07-29 17:30:56 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						954da37bb4 
					 
					
						
						
							
							Add #include <iostream> since Value.h does not #include it any more.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14622  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-07-04 12:19:56 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3048373748 
					 
					
						
						
							
							Move the IntrinsicLowering header into the CodeGen directory, as per PR346  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14266  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-06-20 07:49:54 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						be78ac4422 
					 
					
						
						
							
							Remove isnan support, correct isunordered support  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14187  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-06-15 21:42:23 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						9685372062 
					 
					
						
						
							
							Add the isunordered intrinsic.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14159  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-06-12 19:19:14 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						02348caffc 
					 
					
						
						
							
							Fix lowering to work correctly  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14134  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-06-11 02:54:02 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						137cc4fc8c 
					 
					
						
						
							
							I misled Alkis: LLVM should have isnan, not isunordered.  
						
						... 
						
						
						
						isunordered(X, Y) === isnan(X) | isnan(Y)
Remove isunordered, add isnan.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14132  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-06-11 02:29:43 +00:00 
						 
				 
			
				
					
						
							
							
								Alkis Evlogimenos 
							
						 
					 
					
						
						
							
						
						f616f22e81 
					 
					
						
						
							
							Add the isunordered intrinsic.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14127  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-06-11 01:08:18 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f0a3e6c21c 
					 
					
						
						
							
							Remove an unused variable.  
						
						... 
						
						
						
						Work around for bogus errors: no those static functions don't need to
be executed to be initialized!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14040  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-06-05 01:05:19 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						0979ca7e3e 
					 
					
						
						
							
							Implement the AddPrototypes method  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13432  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-05-09 04:29:57 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9b700f7951 
					 
					
						
						
							
							By default, llvm.setjmp/llvm.longjmp intrinsics get lowered to their libc counterparts  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11483  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-15 22:24:51 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						588e72db75 
					 
					
						
						
							
							Refactor code.  Now the intrinsic lowering pass tries to recycle preexisting  
						
						... 
						
						
						
						prototypes, even if they don't precisely match what it would prefer to use.
This fixes: CBackend/2004-02-15-PreexistingExternals.llx compiling it into:
  ltmp_0_30 = memcpy(l14_C, 4u, 17);
  ltmp_1_30 = memcpy(((int *)l27_A), ((unsigned )(long)l27_B), ((int )123u));
instead of:
  ltmp_0_30 = memcpy(l14_C, 4u, 17);
  ltmp_1_27 = l43_memcpy(l27_A, l27_B, 123u);
Which does the wrong thing as you could imagine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11481  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-15 22:16:39 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						cc42d2c3cc 
					 
					
						
						
							
							A target that doesn't support these intrinsics will still meet spec (the  
						
						... 
						
						
						
						intrinsic will always produce zero), but it will behave unexpectedly, so
warn like GCC does.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11444  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-14 04:52:06 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						cf89908381 
					 
					
						
						
							
							Add llvm.memset/frameaddress/returnaddress intrinsics.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11431  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-14 02:47:17 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2751e76a70 
					 
					
						
						
							
							Add support for the llvm.memmove intrinsic  
						
						... 
						
						
						
						Patch graciously contributed by Reid Spencer!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11355  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-12 18:11:20 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5fe51cc2c4 
					 
					
						
						
							
							Implement the llvm.memcpy intrinsic  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11349  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-02-12 17:01:09 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f907bac068 
					 
					
						
						
							
							Hrm, apparently I missed lowering this intrinsic.  :(  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10858  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-01-14 20:41:29 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						77b1330ece 
					 
					
						
						
							
							Add VMCore and code generator support for debugging intrinsics.  By default  
						
						... 
						
						
						
						code generators completely ignore them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10691  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-01-05 05:36:30 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f70e0c216c 
					 
					
						
						
							
							Clean up a lot of the code I added yesterday by exposing the IntrinsicLowering  
						
						... 
						
						
						
						implementation from the TargetMachine directly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10636  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-28 21:23:38 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						42450d8a5f 
					 
					
						
						
							
							Move into the VMCore library  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10623  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-28 08:30:20 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3b66ecb05f 
					 
					
						
						
							
							Implement the default implementation of the intrinsic lowering class  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10621  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2003-12-28 08:19:41 +00:00