Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								1782584f56 
								
							 
						 
						
							
							
								
								Just don't transform this memset into "bzero" if no-builtin is specified.  
							
							 
							
							... 
							
							
							
							llvm-svn: 56888 
							
						 
						
							2008-09-30 22:05:33 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								bd09262e97 
								
							 
						 
						
							
							
								
								Add the new `-no-builtin' flag. This flag is meant to mimic the GCC  
							
							 
							
							... 
							
							
							
							`-fno-builtin' flag. Currently, it's used to replace "memset" with "_bzero"
instead of "__bzero" on Darwin10+. This arguably violates the meaning of this
flag, but is currently sufficient. The meaning of this flag should become more
specific over time.
llvm-svn: 56885 
							
						 
						
							2008-09-30 21:22:07 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								6fd71c6512 
								
							 
						 
						
							
							
								
								Use a dedicated IsLinux flag instead of an ELFLinux TargetType.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50649 
							
						 
						
							2008-05-05 16:11:31 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								bcde172222 
								
							 
						 
						
							
							
								
								Add AsmPrinter support for emitting a directive to declare that  
							
							 
							
							... 
							
							
							
							the code being generated does not require an executable stack.
Also, add target-specific code to make use of this on Linux
on x86. 
llvm-svn: 50634 
							
						 
						
							2008-05-05 00:28:39 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								6c66bd368e 
								
							 
						 
						
							
							
								
								Re-enable SSE4.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49158 
							
						 
						
							2008-04-03 08:53:29 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								3063c5546e 
								
							 
						 
						
							
							
								
								Temporarily disabling SSE4 until we fix the encoding issues.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49129 
							
						 
						
							2008-04-03 04:49:54 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								980d7200c1 
								
							 
						 
						
							
							
								
								Speculatively micro-optimize memory-zeroing calls on Darwin 10.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49048 
							
						 
						
							2008-04-01 20:38:36 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								7f125b2ba5 
								
							 
						 
						
							
							
								
								Add convenient helper for win64 check. Simplify things slightly.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48691 
							
						 
						
							2008-03-22 20:57:27 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								352acec37e 
								
							 
						 
						
							
							
								
								Update comment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 47002 
							
						 
						
							2008-02-12 07:59:55 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								a20a773654 
								
							 
						 
						
							
							
								
								Fix a x86-64 codegen deficiency. Allow gv + offset when using rip addressing mode.  
							
							 
							
							... 
							
							
							
							Before:
_main:
        subq    $8, %rsp
        leaq    _X(%rip), %rax
        movsd   8(%rax), %xmm1
        movss   _X(%rip), %xmm0
        call    _t
        xorl    %ecx, %ecx
        movl    %ecx, %eax
        addq    $8, %rsp
        ret
Now:
_main:
        subq    $8, %rsp
        movsd   _X+8(%rip), %xmm1
        movss   _X(%rip), %xmm0
        call    _t
        xorl    %ecx, %ecx
        movl    %ecx, %eax
        addq    $8, %rsp
        ret
Notice there is another idiotic codegen issue that needs to be fixed asap:
xorl    %ecx, %ecx
movl    %ecx, %eax
llvm-svn: 46850 
							
						 
						
							2008-02-07 08:53:49 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								e14fdfaecd 
								
							 
						 
						
							
							
								
								SSE 4.1 Intrinsics and detection  
							
							 
							
							... 
							
							
							
							llvm-svn: 46681 
							
						 
						
							2008-02-03 07:18:54 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								cce79c67ca 
								
							 
						 
						
							
							
								
								darwin9 and above support aligned common symbols.  
							
							 
							
							... 
							
							
							
							llvm-svn: 45494 
							
						 
						
							2008-01-02 19:44:55 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f3ebc3f3d2 
								
							 
						 
						
							
							
								
								Remove attribution from file headers, per discussion on llvmdev.  
							
							 
							
							... 
							
							
							
							llvm-svn: 45418 
							
						 
						
							2007-12-29 20:36:04 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								063f177300 
								
							 
						 
						
							
							
								
								Make ARM an X86 memcpy expansion more similar to each other.  
							
							 
							
							... 
							
							
							
							Now both subtarget define getMaxInlineSizeThreshold and the expansion uses it.
This should not change generated code.
llvm-svn: 43552 
							
						 
						
							2007-10-31 11:52:06 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								1de0c86717 
								
							 
						 
						
							
							
								
								Add support for having different alignment for objects on call frames.  
							
							 
							
							... 
							
							
							
							The x86-64 ABI states that objects passed on the stack have
8 byte alignment. Implement that.
llvm-svn: 41768 
							
						 
						
							2007-09-07 14:52:14 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								623dd88775 
								
							 
						 
						
							
							
								
								Mac OS X X86-64 ABI is same as the standard.  
							
							 
							
							... 
							
							
							
							llvm-svn: 41700 
							
						 
						
							2007-09-04 16:44:41 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								bb8a5cff67 
								
							 
						 
						
							
							
								
								Align i64 and f64 at 8 byte on x86-64.  
							
							 
							
							... 
							
							
							
							This is mandated table 3.1 at
http://www.x86-64.org/documentation/abi.pdf 
llvm-svn: 41642 
							
						 
						
							2007-08-31 12:23:58 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								a010822b45 
								
							 
						 
						
							
							
								
								Replace 4-line function with 10-line version per review comment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 40881 
							
						 
						
							2007-08-06 22:10:35 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								d1822ea7d1 
								
							 
						 
						
							
							
								
								Move lengthy conditional down 1 level per review comment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 40878 
							
						 
						
							2007-08-06 21:48:35 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								763cdfd371 
								
							 
						 
						
							
							
								
								Mac OS X X86-64 low 4G address not available.  
							
							 
							
							... 
							
							
							
							llvm-svn: 40701 
							
						 
						
							2007-08-01 23:45:51 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								f099841573 
								
							 
						 
						
							
							
								
								Add support for our first SSSE3 instruction "pmulhrsw".  
							
							 
							
							... 
							
							
							
							llvm-svn: 35869 
							
						 
						
							2007-04-10 22:10:25 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6cc58a0dc5 
								
							 
						 
						
							
							
								
								document some subtlety  
							
							 
							
							... 
							
							
							
							llvm-svn: 33257 
							
						 
						
							2007-01-16 17:51:40 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								c7b2ab9bdf 
								
							 
						 
						
							
							
								
								Instead of yet another enum indicating the "assembly language flavor",  
							
							 
							
							... 
							
							
							
							just use the one that's in the subtarget.
llvm-svn: 33255 
							
						 
						
							2007-01-16 09:29:17 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								a0554d90e8 
								
							 
						 
						
							
							
								
								* PIC codegen for X86/Linux has been implemented  
							
							 
							
							... 
							
							
							
							* PIC-aware internal structures in X86 Codegen have been refactored
* Visibility (default/weak) has been added
* Docs fixes (external weak linkage, visibility, formatting)
llvm-svn: 33136 
							
						 
						
							2007-01-12 19:20:47 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								4efbbc963f 
								
							 
						 
						
							
							
								
								Really big cleanup.  
							
							 
							
							... 
							
							
							
							- New target type "mingw" was introduced
- Same things for both mingw & cygwin are marked as "cygming" (as in
gcc)
- .lcomm is supported here, so allow LLVM to use it
- Correctly use underscored versions of setjmp & _longjmp for both mingw
& cygwin
llvm-svn: 32833 
							
						 
						
							2007-01-03 11:43:14 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								430e68a1b9 
								
							 
						 
						
							
							
								
								Refactored JIT codegen for mingw32. Now we're using standart relocation  
							
							 
							
							... 
							
							
							
							type for distinguish JIT & non-JIT instead of "dirty" hacks :)
llvm-svn: 32745 
							
						 
						
							2006-12-22 22:29:05 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								93acb49182 
								
							 
						 
						
							
							
								
								Fixed dllimported symbols support during JIT'ing. JIT on mingw32  
							
							 
							
							... 
							
							
							
							platform should be more or less workable. At least, sim is running fine
under lli :)
llvm-svn: 32711 
							
						 
						
							2006-12-20 01:03:20 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								6dbdfe2baa 
								
							 
						 
						
							
							
								
								Factor out GVRequiresExtraLoad() from .h to .cpp  
							
							 
							
							... 
							
							
							
							llvm-svn: 32048 
							
						 
						
							2006-11-30 22:42:55 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								5b96cdebb0 
								
							 
						 
						
							
							
								
								Refactored *GVRequiresExtraLoad() to Subtarget method.  
							
							 
							
							... 
							
							
							
							llvm-svn: 31887 
							
						 
						
							2006-11-21 00:01:06 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								a8b4aeace0 
								
							 
						 
						
							
							
								
								Proper fix for rdar://problem/4770604   Thanks to Stuart Hastings!  
							
							 
							
							... 
							
							
							
							llvm-svn: 30985 
							
						 
						
							2006-10-16 21:00:37 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								ff1beda569 
								
							 
						 
						
							
							
								
								Still need to support -mcpu=<> or cross compilation will fail. Doh.  
							
							 
							
							... 
							
							
							
							llvm-svn: 30764 
							
						 
						
							2006-10-06 09:17:41 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								9274f72e58 
								
							 
						 
						
							
							
								
								Do away with CPU feature list. Just use CPUID to detect MMX, SSE, SSE2, SSE3, and 64-bit support.  
							
							 
							
							... 
							
							
							
							llvm-svn: 30763 
							
						 
						
							2006-10-06 08:21:07 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								d61d39ec53 
								
							 
						 
						
							
							
								
								Adding dllimport, dllexport and external weak linkage types.  
							
							 
							
							... 
							
							
							
							DLL* linkages got full (I hope) codegeneration support in C & both x86
assembler backends.
External weak linkage added for future use, we don't provide any
codegeneration, etc. support for it.
llvm-svn: 30374 
							
						 
						
							2006-09-14 18:23:27 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								11b0a5dbd4 
								
							 
						 
						
							
							
								
								Committing X86-64 support.  
							
							 
							
							... 
							
							
							
							llvm-svn: 30177 
							
						 
						
							2006-09-08 06:48:29 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2785d55446 
								
							 
						 
						
							
							
								
								add a new value for the command line optn  
							
							 
							
							... 
							
							
							
							llvm-svn: 30165 
							
						 
						
							2006-09-07 22:32:28 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Laskey
							
						 
						
							 
							
							
							
							
								
							
							
								c7abe471fe 
								
							 
						 
						
							
							
								
								Make the x86 asm flavor part of the subtarget info.  
							
							 
							
							... 
							
							
							
							llvm-svn: 30146 
							
						 
						
							2006-09-07 12:23:47 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e8ce162969 
								
							 
						 
						
							
							
								
								Add accessor  
							
							 
							
							... 
							
							
							
							llvm-svn: 30080 
							
						 
						
							2006-09-04 04:08:58 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								5588de9415 
								
							 
						 
						
							
							
								
								x86 / Darwin PIC support.  
							
							 
							
							... 
							
							
							
							llvm-svn: 26273 
							
						 
						
							2006-02-18 00:15:05 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								03c1e6f48e 
								
							 
						 
						
							
							
								
								A bit more memset / memcpy optimization.  
							
							 
							
							... 
							
							
							
							Turns them into calls to memset / memcpy if 1) buffer(s) are not DWORD aligned,
2) size is not known to be greater or equal to some minimum value (currently 128).
llvm-svn: 26224 
							
						 
						
							2006-02-16 00:21:07 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c642aa5e1c 
								
							 
						 
						
							
							
								
								* Fix 80-column violations  
							
							 
							
							... 
							
							
							
							* Rename hasSSE -> hasSSE1 to avoid my continual confusion with 'has any SSE'.
* Add inline asm constraint specification.
llvm-svn: 25854 
							
						 
						
							2006-01-31 19:43:35 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								cde9e30bc6 
								
							 
						 
						
							
							
								
								x86 CPU detection and proper subtarget support  
							
							 
							
							... 
							
							
							
							llvm-svn: 25679 
							
						 
						
							2006-01-27 08:10:46 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								54c13da29c 
								
							 
						 
						
							
							
								
								Added preliminary x86 subtarget support.  
							
							 
							
							... 
							
							
							
							llvm-svn: 25645 
							
						 
						
							2006-01-26 09:53:06 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								40f8c8450d 
								
							 
						 
						
							
							
								
								Simplify the subtarget info, allow the asmwriter to do some target sensing  
							
							 
							
							... 
							
							
							
							based on TargetType.
llvm-svn: 24478 
							
						 
						
							2005-11-21 22:43:58 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3eb876117a 
								
							 
						 
						
							
							
								
								Make the X86 subtarget compute the basic target type: ELF, Cygwin, Darwin,  
							
							 
							
							... 
							
							
							
							or native Win32
llvm-svn: 24476 
							
						 
						
							2005-11-21 22:31:58 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Laskey
							
						 
						
							 
							
							
							
							
								
							
							
								19058c3989 
								
							 
						 
						
							
							
								
								1. Use SubtargetFeatures in llc/lli.  
							
							 
							
							... 
							
							
							
							2. Propagate feature "string" to all targets.
3. Implement use of SubtargetFeatures in PowerPCTargetSubtarget.
llvm-svn: 23192 
							
						 
						
							2005-09-01 21:38:21 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								3bcfcd9474 
								
							 
						 
						
							
							
								
								Add Subtarget support to PowerPC.  Next up, using it.  
							
							 
							
							... 
							
							
							
							llvm-svn: 22644 
							
						 
						
							2005-08-04 07:12:09 +00:00  
						
					 
				
					
						
							
							
								 
								Jeff Cohen
							
						 
						
							 
							
							
							
							
								
							
							
								33a030e36c 
								
							 
						 
						
							
							
								
								Eliminate tabs and trailing spaces.  
							
							 
							
							... 
							
							
							
							llvm-svn: 22520 
							
						 
						
							2005-07-27 05:53:44 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								351817b1f9 
								
							 
						 
						
							
							
								
								Minor changes to improve comments and fix the build on _WIN32 systems.  
							
							 
							
							... 
							
							
							
							llvm-svn: 22391 
							
						 
						
							2005-07-12 02:36:10 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								f26625e1de 
								
							 
						 
						
							
							
								
								Implement Subtarget support  
							
							 
							
							... 
							
							
							
							Implement the X86 Subtarget.
This consolidates the checks for target triple, and setting options based
on target triple into one place.  This allows us to convert the asm printer
and isel over from being littered with "forDarwin", "forCygwin", etc. into
just having the appropriate flags for each subtarget feature controlling
the code for that feature.
This patch also implements indirect external and weak references in the
X86 pattern isel, for darwin.  Next up is to convert over the asm printers
to use this new interface.
llvm-svn: 22389 
							
						 
						
							2005-07-12 01:41:54 +00:00