Reid Spencer 
							
						 
					 
					
						
						
							
						
						3be872ed59 
					 
					
						
						
							
							Fix a problem in getDirectoryContents where sub-directory names were  
						
						... 
						
						
						
						appended to a path string that didn't end in a slash, yielding invalid
path names.
Path contribute by Nicholas Riley.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22539  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-28 16:25:57 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						a4433e1b31 
					 
					
						
						
							
							get lazy JITing working.  Some of shootout runs now  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22538  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-28 12:45:20 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						6a9746127a 
					 
					
						
						
							
							Like constants, globals on some platforms are GOT relative.  This means they have to be allocated  
						
						... 
						
						
						
						near the GOT, which new doesn't do.  So break out the allocate into a new function.
Also move GOT index handling into JITResolver.  This lets it update the mapping when a Lazy
function is JITed.  It doesn't managed the table, just the mapping.  Note that this is
still non-ideal, as any function that takes a function address should also take a GOT
index, but that is a lot of changes.  The relocation resolve process updates any GOT entry
it sees is out of date.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22537  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-28 12:44:13 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						988b1dd608 
					 
					
						
						
							
							Eliminate an extra copy from R1 that Nate noticed on function calls that  
						
						... 
						
						
						
						have to write arguments to the stack
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22536  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-28 05:23:43 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4015ea8711 
					 
					
						
						
							
							Specify the correct number of operands  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22535  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-28 04:42:11 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						2a05c8e260 
					 
					
						
						
							
							Fold constant adds into loads and stores to frame indices.  
						
						... 
						
						
						
						For the following code:
double %ext(int %A.0__, long %A.1__) {
        %A_addr = alloca %typedef.DComplex              ; <%typedef.DComplex*> [#uses=2]
        %tmp.1 = cast %typedef.DComplex* %A_addr to int*                ; <int*> [#uses=1]
        store int %A.0__, int* %tmp.1
        %tmp.2 = getelementptr %typedef.DComplex* %A_addr, int 0, uint 1                ; <double*> [#uses=2]
        %tmp.3 = cast double* %tmp.2 to long*           ; <long*> [#uses=1]
        store long %A.1__, long* %tmp.3
        %tmp.5 = load double* %tmp.2            ; <double> [#uses=1]
        ret double %tmp.5
}
We now generate:
_ext:
.LBB_ext_0:     ;
        stw r3, -12(r1)
        stw r4, -8(r1)
        stw r5, -4(r1)
        lfd f1, -8(r1)
        blr
Instead of:
_ext:
.LBB_ext_0:     ;
        stw r3, -12(r1)
        addi r2, r1, -12
        stw r4, 4(r2)
        stw r5, 8(r2)
        lfd f1, 4(r2)
        blr
This also fires hundreds of times on MultiSource.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22533  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-28 03:02:05 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						3dee17581c 
					 
					
						
						
							
							Fix some comments  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22530  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-27 23:11:27 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						cef21c3544 
					 
					
						
						
							
							Fix debug info to not print out recently freed memory.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22529  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-27 23:11:25 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8e7a70976d 
					 
					
						
						
							
							Print symbolic register names in debug dumps  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22528  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-27 23:03:38 +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 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						54eed36da5 
					 
					
						
						
							
							Implement the optimization for the Red Zone on Darwin.  This removes the  
						
						... 
						
						
						
						unnecessary SP manipulation in leaf routines that don't need it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22522  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-27 06:06:29 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						45ff4faeed 
					 
					
						
						
							
							fix some warnings when compiled with 32-bit hosts  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22521  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-27 05:58:01 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						9eb59ec548 
					 
					
						
						
							
							Eliminate tabs and trailing spaces.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22520  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-27 05:53:44 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b65975a6ed 
					 
					
						
						
							
							add a note about the red zone  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22518  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-26 19:07:51 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2e00d7d0ae 
					 
					
						
						
							
							Wrap some long lines, fix emission of weak global variables  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22517  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-26 19:03:27 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						4ad870ddcc 
					 
					
						
						
							
							Update the PPC readme  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22516  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-26 18:59:06 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						600d73b548 
					 
					
						
						
							
							ConvertibleToGEP always returns 0, remove some old crufty code which  
						
						... 
						
						
						
						is actually dead because of this!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22515  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-26 16:38:28 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d6bbac500b 
					 
					
						
						
							
							fix a warning on 32-bit systems  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22513  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-25 23:42:58 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						7b4f0a81ff 
					 
					
						
						
							
							Fix an optimization put in for accessing static globals.  This obviates  
						
						... 
						
						
						
						the need to build PIC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22512  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-25 21:15:28 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						f075cac445 
					 
					
						
						
							
							fix compile error  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22508  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-23 07:46:48 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						aa68f7fa09 
					 
					
						
						
							
							PowerPC no-pic code is not quite ready for prime-time  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22507  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-22 22:58:34 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						6b137d818a 
					 
					
						
						
							
							Handle more imm forms, and load small negative i32 constants without hitting memory (should do the same for arbitrary zero extended small negative constants)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22505  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-22 22:24:01 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						38396f8a93 
					 
					
						
						
							
							finally found the gcc defined constants  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22502  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-22 21:00:30 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						0934ae02af 
					 
					
						
						
							
							Alpha JIT (beta)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22500  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-22 20:52:16 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						f3f951af3f 
					 
					
						
						
							
							simpilfy instruction encoding (and make the lines way shorter, aka Misha happification)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22499  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-22 20:50:29 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						908bc862d5 
					 
					
						
						
							
							update interface  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22498  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-22 20:49:37 +00:00 
						 
				 
			
				
					
						
							
							
								Andrew Lenharth 
							
						 
					 
					
						
						
							
						
						16ec33c6ef 
					 
					
						
						
							
							the JIT memory manager will construct a GOT if you want it too.  Also, it places the constants in the allocated memory, rather than a malloc area  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22497  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-22 20:48:12 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						2497e6391f 
					 
					
						
						
							
							Support building non-PIC  
						
						... 
						
						
						
						Remove the LoadHiAddr pseudo-instruction.
Optimization of stores to and loads from statics.
Force JIT to use new non-PIC codepaths.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22494  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-21 20:44:43 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2130c08930 
					 
					
						
						
							
							revert to using 4-byte alignment for doubles, as specified by the ABI  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22493  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-21 19:17:18 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						18ed029a7b 
					 
					
						
						
							
							Support assembling fsqrt on darwin.  This will be implemented better when  
						
						... 
						
						
						
						PowerPC gets subtarget support up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22489  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-21 01:25:49 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						adeb43ddf4 
					 
					
						
						
							
							Generate mfocrf when targeting g5.  Generate fsqrt/fsqrts when targetin g5.  
						
						... 
						
						
						
						8-byte align doubles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22486  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-20 22:42:00 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f9944f109c 
					 
					
						
						
							
							Do not let MaskedValueIsZero consider undef to be zero, for reasons  
						
						... 
						
						
						
						explained in the comment.
This fixes UnitTests/2003-09-18-BitFieldTest on darwin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22483  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-20 18:49:28 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e884dc2c58 
					 
					
						
						
							
							count the number of relocations performed.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22480  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-20 16:29:20 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						a3fd400fa8 
					 
					
						
						
							
							Integrate SelectFPExpr into SelectExpr.  This gets PPC32 closer to being  
						
						... 
						
						
						
						automatically generated from a target description.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22470  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-19 16:51:05 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						700a3c97e9 
					 
					
						
						
							
							Remove unnecessary FP_EXTEND. This causes worse codegen for SSE.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22469  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-19 16:50:03 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						a0f5bf306c 
					 
					
						
						
							
							For: memory operations -> stores  
						
						... 
						
						
						
						This is the first incremental patch to implement this feature. It adds no
functionality to LLVM but setup up the information needed from targets in
order to implement the optimization correctly. Each target needs to specify
the maximum number of store operations for conversion of the llvm.memset,
llvm.memcpy, and llvm.memmove intrinsics into a sequence of store operations.
The limit needs to be chosen at the threshold of performance for such an
optimization (generally smallish). The target also needs to specify whether
the target can support unaligned stores for multi-byte store operations.
This helps ensure the optimization doesn't generate code that will trap on
an alignment errors.
More patches to follow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22468  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-19 04:52:44 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7911f03626 
					 
					
						
						
							
							When transforming &A[i] < &A[j]  ->  i < j, make sure to perform the comparison  
						
						... 
						
						
						
						as a signed compare.  This patch may fix PR597, but is correct in any case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22465  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-18 23:07:33 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f4d32726e6 
					 
					
						
						
							
							The assertion was wrong: the code only worked for i64.  While we're at it,  
						
						... 
						
						
						
						expand the code to work for all integer datatypes.  This should unbreak
alpha.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22464  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-18 04:31:14 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						0589523525 
					 
					
						
						
							
							Only get the .bss and .data sections when needed instead of unconditionally.  
						
						... 
						
						
						
						This allows is to not emit empty sections when .data or .bss is not used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22457  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-16 17:41:06 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						0003395320 
					 
					
						
						
							
							Refactor getSection() method to make it easier to use.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22455  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-16 17:36:04 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5f48ff7d1f 
					 
					
						
						
							
							Major refactor of the ELFWriter code.  Instead of building up one big  
						
						... 
						
						
						
						vector that represents the .o file at once, build up a vector for each
section of the .o file.  This is needed because the .o file writer needs
to be able to switch between sections as it emits them (e.g. switch
between the .text section and the .rel section when emitting code).
This patch has no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22453  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-16 08:01:13 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						5a8441ea3f 
					 
					
						
						
							
							Teach the legalizer how to promote SINT_TO_FP to a wider SINT_TO_FP that  
						
						... 
						
						
						
						the target natively supports.  This eliminates some special-case code from
the x86 backend and generates better code as well.
For an i8 to f64 conversion, before & after:
_x87 before:
        subl $2, %esp
        movb 6(%esp), %al
        movsbw %al, %ax
        movw %ax, (%esp)
        filds (%esp)
        addl $2, %esp
        ret
_x87 after:
        subl $2, %esp
        movsbw 6(%esp), %ax
        movw %ax, (%esp)
        filds (%esp)
        addl $2, %esp
        ret
_sse before:
        subl $12, %esp
        movb 16(%esp), %al
        movsbl %al, %eax
        cvtsi2sd %eax, %xmm0
        addl $12, %esp
        ret
_sse after:
        subl $12, %esp
        movsbl 16(%esp), %eax
        cvtsi2sd %eax, %xmm0
        addl $12, %esp
        ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22452  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-16 02:02:34 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						11cefd926a 
					 
					
						
						
							
							Teach the register allocator that movaps is also a move instruction  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22451  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-16 02:00:20 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						9035b99abf 
					 
					
						
						
							
							A couple more darwinisms  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22450  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-16 01:59:47 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a28381cac2 
					 
					
						
						
							
							Remove all knowledge of UINT_TO_FP from the X86 backend, relying on the  
						
						... 
						
						
						
						legalizer to eliminate them.  With this comes the expected code quality
improvements, such as, for this:
double foo(unsigned short X) { return X; }
we now generate this:
_foo:
        subl $4, %esp
        movzwl 8(%esp), %eax
        movl %eax, (%esp)
        fildl (%esp)
        addl $4, %esp
        ret
instead of this:
_foo:
        subl $4, %esp
        movw 8(%esp), %ax
        movzwl %ax, %eax   ;; Load not folded into this.
        movl %eax, (%esp)
        fildl (%esp)
        addl $4, %esp
        ret
-Chris
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22449  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-16 00:28:20 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						cad063f1a8 
					 
					
						
						
							
							Break the code for expanding UINT_TO_FP operations out into its own  
						
						... 
						
						
						
						SelectionDAGLegalize::ExpandLegalUINT_TO_FP method.
Add a new method, PromoteLegalUINT_TO_FP, which allows targets to request
that UINT_TO_FP operations be promoted to a larger input type.  This is
useful for targets that have some UINT_TO_FP or SINT_TO_FP operations but
not all of them (like X86).
The same should be done with SINT_TO_FP, but this patch does not do that
yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22447  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-16 00:19:57 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6e741f8842 
					 
					
						
						
							
							You can't use config options without config.h  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22446  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-15 22:48:31 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						16b04f3d5e 
					 
					
						
						
							
							Get closer to fully working scalar FP in SSE regs.  This gets singlesource  
						
						... 
						
						
						
						working, and Olden/power.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22441  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-15 00:38:55 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						6c7cb29038 
					 
					
						
						
							
							Add support for printing the sse scalar comparison instruction mnemonics.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22440  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-14 22:52:25 +00:00 
						 
				 
			
				
					
						
							
							
								John Criswell 
							
						 
					 
					
						
						
							
						
						ce4e1e419e 
					 
					
						
						
							
							Fixed PR#596:  
						
						... 
						
						
						
						Add parenthesis around the value being negated; that way, if the value
begins with a minus sign (e.g. negative integer), we won't generate a
C predecrement operator by mistake.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22437  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-14 19:41:16 +00:00