Chris Lattner 
							
						 
					 
					
						
						
							
						
						cedc6f4b30 
					 
					
						
						
							
							PHI and INLINEASM are now built-in instructions provided by Target.td  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25674  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-27 01:46:15 +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 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						0d170a7969 
					 
					
						
						
							
							Add trivial subtarget support  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25641  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-26 06:51:21 +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 
							
						 
					 
					
						
						
							
						
						bb978c7e98 
					 
					
						
						
							
							remove the V8 simple isel  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25534  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-23 07:20:15 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2c2c6c61f1 
					 
					
						
						
							
							Add explicit #includes of <iostream>  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25515  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-22 23:41:00 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						86a5484079 
					 
					
						
						
							
							Add explicit #includes of <iostream>  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25509  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-22 22:53:01 +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 
							
						 
					 
					
						
						
							
						
						4fca01731a 
					 
					
						
						
							
							Don't print a label for the first MBB in a function.  
						
						... 
						
						
						
						Compile this:
%_2E_str_8 = external global [75 x sbyte]
implementation   ; Functions:
declare int %printf(sbyte*, ...)
void %test()
        %tmp.101 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([75 x sbyte]* %_2E_str_8, int 0, int 0) )             ; <int> [#uses=0]
        unreachable
}
to this:
main_endif_2E_8:
        save -96, %o6, %o6
        sethi %hi(_2E_str_8), %l0
        add %l0, %lo(_2E_str_8), %o0
        call printf
        nop
instead of this:
main_endif_2E_8:
        save -96, %o6, %o6
        sethi %hi(_2E_str_8), %l0
        or %g0, %lo(_2E_str_8), %l1   ;; extra instruction
        add %l1, %l0, %o0
        call printf
        nop
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25335  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-15 09:26:27 +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 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7c41907887 
					 
					
						
						
							
							reorder passes  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25326  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-15 07:19:53 +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 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b3c77152c8 
					 
					
						
						
							
							invert the sense of this switch and its name  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25234  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-12 01:28:56 +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 
							
						 
					 
					
						
						
							
						
						1b8af84a84 
					 
					
						
						
							
							Unbreak ret void   :-/  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25210  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-11 07:15:43 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						bda559e115 
					 
					
						
						
							
							Write this pattern in canonical form, allowing more patterns to match.  
						
						... 
						
						
						
						This implements Regression/CodeGen/SparcV8/xnor.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25209  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-11 07:14:01 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						6da8d99f70 
					 
					
						
						
							
							New DAG node properties SNDPInFlag, SNDPOutFlag, and SNDPOptInFlag to replace  
						
						... 
						
						
						
						hasInFlag, hasOutFlag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25155  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-09 18:28:21 +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 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						2b4ea795a2 
					 
					
						
						
							
							Added field noResults to Instruction.  
						
						... 
						
						
						
						Currently tblgen cannot tell which operands in the operand list are results so
it assumes the first one is a result. This is bad. Ideally we would fix this
by separating results from inputs, e.g. (res R32:$dst),
(ops R32:$src1, R32:$src2). But that's a more distruptive change. Adding
'let noResults = 1' is the workaround to tell tblgen that the instruction does
not produces a result. It works for now since tblgen does not support
instructions which produce multiple results.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25017  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-12-26 09:11:45 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						171049d10f 
					 
					
						
						
							
							* Removed the use of FLAG. Now use hasFlagIn and hasFlagOut instead.  
						
						... 
						
						
						
						* Added a pseudo instruction (for each target) that represent "return void".
  This is a workaround for lack of optional flag operand (return void is not
  lowered so it does not have a flag operand.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24997  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-12-23 22:14:32 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2170cef707 
					 
					
						
						
							
							not a good idea  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24991  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-12-23 07:37:47 +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 
							
						 
					 
					
						
						
							
						
						e6ee868a8d 
					 
					
						
						
							
							remove benchmark list, remove issues addressed by the dag-dag isel  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24984  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-12-23 06:09:30 +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 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a01874fc89 
					 
					
						
						
							
							Use BIT_CONVERT to simplify this code  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24975  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-12-23 02:31:39 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a01c0ccb63 
					 
					
						
						
							
							clean up .td file by using evan's new FLAG thing  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24967  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-12-22 21:18:39 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Laskey 
							
						 
					 
					
						
						
							
						
						e81aecbae6 
					 
					
						
						
							
							Disengage DEBUG_LOC from non-PPC targets.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24919  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-12-21 20:51:37 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7669a51c34 
					 
					
						
						
							
							remove dead code  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24896  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-12-21 05:27:51 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						aca0901dd3 
					 
					
						
						
							
							Run lower-switch after lower-invoke.  
						
						... 
						
						
						
						Only run lower-allocations and lower-select for the simple isel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24881  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-12-20 08:00:11 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						85e42b45ac 
					 
					
						
						
							
							Reserve G1 for frame offset stuff and use it to handle large stack frames.  
						
						... 
						
						
						
						For example, instead of emitting this:
test:
        save -40112, %o6, %o6   ;; imm too large
        add %i6, -40016, %o0    ;; imm too large
        call caller
        nop
        restore %g0, %g0, %g0
        retl
        nop
emit this:
test:
        sethi 4194264, %g1
        or %g1, 848, %g1
        save %o6, %g1, %o6
        sethi 4194264, %g1
        add %g1, %i6, %g1
        add %i1, 944, %o0
        call caller
        nop
        restore %g0, %g0, %g0
        retl
        nop
which doesn't cause the assembler to barf.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24880  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-12-20 07:56:31 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7c423b4df1 
					 
					
						
						
							
							Fix pifft by correcting the case when a i64/f64 straddles O5 and memory:  
						
						... 
						
						
						
						we were storing into [FP+88] instead of [FP+92].
Improve codegen by emitting [FP+92], instead of emitting a copy of FP into
another GPR which wouldn't be coallesced because FP isn't register allocated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24859  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-12-19 07:57:53 +00:00