Evan Cheng 
							
						 
					 
					
						
						
							
						
						7e9b26fc73 
					 
					
						
						
							
							Match getTargetNode() changes (now return SDNode* instead of SDOperand).  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26085  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-09 07:17:49 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3029f92051 
					 
					
						
						
							
							Adjust to MachineConstantPool interface change: instead of keeping a  
						
						... 
						
						
						
						value/alignment pair for each constant, keep a value/offset pair.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26078  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-09 04:46:04 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						34167215a8 
					 
					
						
						
							
							Change Select() from  
						
						... 
						
						
						
						SDOperand Select(SDOperand N);
to
void Select(SDOperand &Result, SDOperand N);
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26067  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-09 00:37:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c26017a4ae 
					 
					
						
						
							
							Fix the Sparc backend with Evan's recent tblgen changes  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26009  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-05 08:35:50 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						900c826bc7 
					 
					
						
						
							
							Use SelectRoot() as the entry to any tblgen based isel.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25998  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-05 06:51:51 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7c90f73a1b 
					 
					
						
						
							
							Rename SPARC V8 target to be the LLVM SPARC target.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25985  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-05 05:50:24 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c275dfa727 
					 
					
						
						
							
							Custom lower VAARG for the case when we are doing vaarg(double).  In this  
						
						... 
						
						
						
						case, the double being loaded may not be 8-byte aligned, so we have to use
our standard bit_convert game.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25967  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-04 08:31:30 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						b8973bd8f5 
					 
					
						
						
							
							Allow the specification of explicit alignments for constant pool entries.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25855  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-31 22:23:14 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c03468bafa 
					 
					
						
						
							
							add a missing break that caused a lot of failures last night :(  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25851  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-31 17:20:06 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7a4d2913ea 
					 
					
						
						
							
							treat conditional branches the same way as conditional moves (giving them  
						
						... 
						
						
						
						an operand that contains the condcode), making things significantly simpler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25840  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-31 06:56:30 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6788faa06a 
					 
					
						
						
							
							compactify all of the integer conditional moves into one instruction that takes  
						
						... 
						
						
						
						a CC as an operand.  Much smaller, much happier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25839  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-31 06:49:09 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						86638b94c1 
					 
					
						
						
							
							Compile this:  
						
						... 
						
						
						
						void %X(int %A) {
        %C = setlt int %A, 123          ; <bool> [#uses=1]
        br bool %C, label %T, label %F
T:              ; preds = %0
        call int %main( int 0 )         ; <int>:0 [#uses=0]
        ret void
F:              ; preds = %0
        ret void
}
to this:
X:
        save -96, %o6, %o6
        subcc %i0, 122, %l0
        bg .LBBX_2      ! F
        nop
...
not this:
X:
        save -96, %o6, %o6
        sethi 0, %l0
        or %g0, 1, %l1
        subcc %i0, 122, %l2
        bg .LBBX_4      !
        nop
.LBBX_3:        !
        or %g0, %l0, %l1
.LBBX_4:        !
        subcc %l1, 0, %l0
        bne .LBBX_2     ! F
        nop
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25833  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-31 05:05:52 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b716343851 
					 
					
						
						
							
							I don't see why this optimization isn't safe, but it isn't, so disable it  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25829  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-31 02:45:52 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2adc05cf5b 
					 
					
						
						
							
							Fix FP constants, and the SparcV8/2006-01-22-BitConvertLegalize.ll failure from last night  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25819  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-30 22:20:49 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3772bcb333 
					 
					
						
						
							
							Revamp the ICC/FCC reading instructions to be parameterized in terms of the  
						
						... 
						
						
						
						SPARC condition codes, not in terms of the DAG condcodes.  This allows us to
write nice clean patterns for cmovs/branches.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25815  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-30 07:43:04 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9072c05cd8 
					 
					
						
						
							
							Compile:  
						
						... 
						
						
						
						uint %test(uint %X) {
        %Y = call uint %llvm.ctpop.i32(uint %X)
        ret uint %Y
}
to:
test:
        save -96, %o6, %o6
        sll %i0, 0, %l0
        popc %l0, %i0
        restore %g0, %g0, %g0
        retl
        nop
instead of to 40 logical ops.  Note the shift-by-zero that clears the top
part of the 64-bit V9 register.
Testcase here: CodeGen/SparcV8/ctpop.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25814  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-30 06:14:02 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						76afdc9a80 
					 
					
						
						
							
							First step towards V9 instructions in the V8 backend, two conditional move  
						
						... 
						
						
						
						patterns.  This allows emission of this code:
t1:
        save -96, %o6, %o6
        subcc %i0, %i1, %l0
        move %icc, %i0, %i2
        or %g0, %i2, %i0
        restore %g0, %g0, %g0
        retl
        nop
instead of this:
t1:
        save -96, %o6, %o6
        subcc %i0, %i1, %l0
        be .LBBt1_2     !
        nop
.LBBt1_1:       !
        or %g0, %i2, %i0
.LBBt1_2:       !
        restore %g0, %g0, %g0
        retl
        nop
for this:
int %t1(int %a, int %b, int %c) {
        %tmp.2 = seteq int %a, %b
        %tmp3 = select bool %tmp.2, int %a, int %c
        ret int %tmp3
}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25809  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-30 05:35:57 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						dea9528f7f 
					 
					
						
						
							
							When lowering SELECT_CC, see if the input is a lowered SETCC.  If so, fold  
						
						... 
						
						
						
						the two operations together.  This allows us to compile this:
void %two(int %a, int* %b) {
        %tmp.2 = seteq int %a, 0
        %tmp.0.0 = select bool %tmp.2, int 10, int 20
        store int %tmp.0.0, int* %b
        ret void
}
into:
two:
        save -96, %o6, %o6
        or %g0, 20, %l0
        or %g0, 10, %l1
        subcc %i0, 0, %l2
        be .LBBtwo_2    ! entry
        nop
.LBBtwo_1:      ! entry
        or %g0, %l0, %l1
.LBBtwo_2:      ! entry
        st %l1, [%i1]
        restore %g0, %g0, %g0
        retl
        nop
instead of:
two:
        save -96, %o6, %o6
        sethi 0, %l0
        or %g0, 1, %l1
        or %g0, 20, %l2
        or %g0, 10, %l3
        subcc %i0, 0, %l4
        be .LBBtwo_2    ! entry
        nop
.LBBtwo_1:      ! entry
        or %g0, %l0, %l1
.LBBtwo_2:      ! entry
        subcc %l1, 0, %l0
        bne .LBBtwo_4   ! entry
        nop
.LBBtwo_3:      ! entry
        or %g0, %l2, %l3
.LBBtwo_4:      ! entry
        st %l3, [%i1]
        restore %g0, %g0, %g0
        retl
        nop
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25806  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-30 04:34:44 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c6fd6cd65c 
					 
					
						
						
							
							Move MaskedValueIsZero from the DAGCombiner to the TargetLowering interface,making isMaskedValueZeroForTargetNode simpler, and useable from other partsof the compiler.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25803  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-30 04:09:27 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4a397e0e94 
					 
					
						
						
							
							Implement isMaskedValueZeroForTargetNode for the various v8 selectcc nodes,  
						
						... 
						
						
						
						allowing redundant and's to be eliminated by the dag combiner.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25800  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-30 03:51:45 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						44ea7b1a6c 
					 
					
						
						
							
							Use V8ISD::CALL instead of ISD::CALL  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25716  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-27 23:30:03 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						ee625573b5 
					 
					
						
						
							
							Remove TLI.LowerReturnTo, and just let targets custom lower ISD::RET for  
						
						... 
						
						
						
						the same functionality.  This addresses another piece of bug 680.  Next,
on to fixing Alpha VAARG, which I broke last time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25696  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-27 21:09:22 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4dcfaac2e3 
					 
					
						
						
							
							Rest of subtarget support, remove references to ppc  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25642  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-26 07:22:22 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						0577a22c67 
					 
					
						
						
							
							Set SchedulingForLatency to be the default scheduling preference for all.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25607  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-25 18:52:42 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						acc398c195 
					 
					
						
						
							
							First part of bug 680:  
						
						... 
						
						
						
						Remove TLI.LowerVA* and replace it with SDNodes that are lowered the same
way as everything else.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25606  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-25 18:21:52 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						7558b0e80c 
					 
					
						
						
							
							Default scheduling preference is SchedulingForLatency.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25603  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-25 09:15:54 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						46030a6b0a 
					 
					
						
						
							
							implement support for f32 arguments past the first 6 words  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25450  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-19 07:22:29 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						99cf50937d 
					 
					
						
						
							
							Silly Sparc is big endian.  If we have to load args out of incoming stack slots  
						
						... 
						
						
						
						that are smaller than an int, make sure to adjust the frame pointer to take
this into consideration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25351  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-16 01:40:00 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f7511b4943 
					 
					
						
						
							
							Make sure that bool,byte and short arguments are the right type when loaded  
						
						... 
						
						
						
						from memory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25346  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-15 22:22:01 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7f9975a793 
					 
					
						
						
							
							Disable a broken optimization  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25340  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-15 19:15:46 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						934ea49a55 
					 
					
						
						
							
							Have legalize take care of DYNAMIC_STACKALLOC for us, implement llvm.stacksave/stackrestore.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25332  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-15 08:55:25 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						bce8887cee 
					 
					
						
						
							
							Implement DYNAMIC_STACKALLOC for V8  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25330  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-15 08:43:57 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						d88fc03602 
					 
					
						
						
							
							bswap implementation  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25312  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-14 03:14:10 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b99329e8a0 
					 
					
						
						
							
							expand unsupported stacksave/stackrestore nodes  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25272  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-13 02:42:53 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4bb91024ac 
					 
					
						
						
							
							Fix branches on FP compares  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25249  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-12 17:05:32 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						138d322e96 
					 
					
						
						
							
							fix a bug in my previous checkin  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25244  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-12 07:38:04 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						72878a463b 
					 
					
						
						
							
							Give V8ISD nodes symbolic names in dumps  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25243  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-12 07:31:15 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						35ef913ec2 
					 
					
						
						
							
							Add bswap, rotl, and rotr nodes  
						
						... 
						
						
						
						Add dag combiner code to recognize rotl, rotr
Add ppc code to match rotl
Targets should add rotl/rotr patterns if they have them
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25222  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-11 21:21:00 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7ec6a6e96e 
					 
					
						
						
							
							This is no longer needed  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25219  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-11 19:52:46 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b9169ceb23 
					 
					
						
						
							
							Use Evan's outflag stuff to implement V8cmpicc.  This allows us to write a  
						
						... 
						
						
						
						pattern for SUBCCrr, and makes it trivial to add support for SUBCCri, eliminating
an instruction in the common "setcc X, imm" case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25212  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-11 07:49:38 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3fbb726141 
					 
					
						
						
							
							Fix a bug in i32->f64 conversion lowering  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25211  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-11 07:27:40 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						cb83374bd9 
					 
					
						
						
							
							silence a bogus gcc warning  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25129  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-06 17:56:38 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						e0bce71c42 
					 
					
						
						
							
							Had expand logic backward.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25105  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-05 01:47:43 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						abf6d1784b 
					 
					
						
						
							
							Added initial support for DEBUG_LABEL allowing debug specific labels to be  
						
						... 
						
						
						
						inserted in the code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25104  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-05 01:25:28 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						941334f0b0 
					 
					
						
						
							
							Remove some dead code.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25102  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-05 00:26:14 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						330ea12667 
					 
					
						
						
							
							fix something-o  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24987  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-12-23 07:08:39 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						74fa64b072 
					 
					
						
						
							
							implement vaarg.  Varargs now should work.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24986  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-12-23 06:37:38 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c4769bb529 
					 
					
						
						
							
							implement vastart.  The dag isel compiles this:  
						
						... 
						
						
						
						void test3(va_list Y);
void test2(int F, ...) {
  va_list X;
  va_start(X, F);
  test3(X);
}
into this:
test2:
        save -104, %o6, %o6
        st %i5, [%i6+88]
        st %i4, [%i6+84]
        st %i3, [%i6+80]
        st %i2, [%i6+76]
        st %i1, [%i6+72]
        add %i6, 72, %o0
        st %o0, [%i6+-4]
        call test3
        nop
        restore %g0, %g0, %g0
        retl
        nop
The simple isel emits:
test2:
        save -96, %o6, %o6
        st %i0, [%i6+68]
        st %i1, [%i6+72]
        st %i2, [%i6+76]
        st %i3, [%i6+80]
        st %i4, [%i6+84]
        st %i5, [%i6+88]
        or %g0, 1, %l0
        or %g0, 4, %l1
        umul %l0, %l1, %l0
        add %l0, 7, %l0
        and %l0, -8, %l0
        sub %o6, %l0, %o6
        add %o6, 96, %l0
        add %i6, 72, %l1
        st %l1, [%l0]
        ld [%l0], %o0
        call test3
        nop
        restore %g0, %g0, %g0
        retl
        nop
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24985  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-12-23 06:24:04 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						53e884587b 
					 
					
						
						
							
							make sure bit_converts are expanded  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24978  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-12-23 05:13:35 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3cb7187d5f 
					 
					
						
						
							
							fix the int<->fp instructions, which apparently take a single float register  
						
						... 
						
						
						
						to represent the int part (because it's always 32-bits)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24976  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-12-23 05:00:16 +00:00