Chris Lattner 
							
						 
					 
					
						
						
							
						
						b9efd14568 
					 
					
						
						
							
							add operands in the correct order  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23123  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-29 00:02:01 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c8a89a1fcb 
					 
					
						
						
							
							Fix a bug in FP_EXTEND, implement FP_TO_SINT  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23121  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-28 23:59:09 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						528f58e813 
					 
					
						
						
							
							fix an assertion failure in treeadd  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23120  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-28 23:39:22 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8a2d3ca7df 
					 
					
						
						
							
							implement SELECT_CC fully for the DAG->DAG isel!  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23101  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-26 21:23:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						0bbea95433 
					 
					
						
						
							
							Make fsel emission work with both the pattern and dag-dag selectors, by  
						
						... 
						
						
						
						giving it a non-instruction opcode.  The dag->dag selector used to not
select the operands of the fsel, because it thought that whole tree was
already selected.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23091  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-26 20:25:03 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						13794f5d01 
					 
					
						
						
							
							implement the fold for:  
						
						... 
						
						
						
						bool %test(int %X, int %Y) {
        %C = setne int %X, 0
        ret bool %C
}
to:
_test:
        addic r2, r3, -1
        subfe r3, r2, r3
        blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23089  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-26 18:46:49 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						52987f4f65 
					 
					
						
						
							
							Changes to adjust to new ReplaceAllUsesWith syntax.  Change FP_EXTEND to  
						
						... 
						
						
						
						just return its input, instead of emitting an explicit copy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23088  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-26 18:37:23 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						28b9be300c 
					 
					
						
						
							
							now that fsel is formed during legalization, this code is dead  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23084  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-26 17:40:39 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5839bf2b3b 
					 
					
						
						
							
							Change ConstantPoolSDNode to actually hold the Constant itself instead of  
						
						... 
						
						
						
						putting it into the constant pool.  This allows the isel machinery to
create constants that it will end up deciding are not needed, without them
ending up in the resultant function constant pool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23081  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-26 17:15:30 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						95e0682a42 
					 
					
						
						
							
							Fix some warnings in an optimized build  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23080  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-26 16:38:51 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2bb06cdf27 
					 
					
						
						
							
							Fix a huge annoyance: SelectNodeTo took types before the opcode unlike  
						
						... 
						
						
						
						every other SD API.  Fix it to take the opcode before the types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23079  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-26 16:36:26 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						bb22df31d9 
					 
					
						
						
							
							SUBFIC produces two results, not one.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23073  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-26 00:34:06 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						6660cd65cf 
					 
					
						
						
							
							Implement SHL_PARTS and SRL_PARTS  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23072  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-26 00:28:00 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b20c318df0 
					 
					
						
						
							
							Emit the lo/hi parts in the right order :)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23068  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-25 23:36:49 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a9317ed361 
					 
					
						
						
							
							implement support for 64-bit add/sub, fix a broken assertion for 64-bit  
						
						... 
						
						
						
						return.  Allow the udiv breaker-upper to work with any non-zero constant
operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23066  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-25 23:21:06 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						047b952e29 
					 
					
						
						
							
							Finish implementing SDIV/UDIV by copying over the majik constant code from  
						
						... 
						
						
						
						ISelPattern
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23062  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-25 22:04:30 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						957fcfbd89 
					 
					
						
						
							
							Implement setcc correctly for G5 and non-G5 systems  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23060  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-25 21:39:42 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						64906a06b3 
					 
					
						
						
							
							implement setcc on the G5.  We're still missing the non-g5 specific bits, but  
						
						... 
						
						
						
						they will come later.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23059  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-25 20:08:18 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8784a23075 
					 
					
						
						
							
							Add support for sdiv by 2^k and -2^k.  Producing code like:  
						
						... 
						
						
						
						_test:
        srawi r2, r3, 2
        addze r3, r2
        blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23052  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-25 17:50:06 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						34e17052a7 
					 
					
						
						
							
							Implement support for taking the address of constant pool indices, which  
						
						... 
						
						
						
						is used by the int -> FP code among other things.  This gets
2005-05-12-Int64ToFP past that failure, to dying on lack of support for add_parts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23042  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-25 05:04:11 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2fe76e58eb 
					 
					
						
						
							
							Add support for FP constants, fixing UnitTests/2004-02-02-NegativeZero  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23038  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-25 04:47:18 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e28e40a273 
					 
					
						
						
							
							Fully implement frame index, so that we can pass the address of alloca's  
						
						... 
						
						
						
						around to functions and stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23036  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-25 00:45:43 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						89532c7db0 
					 
					
						
						
							
							implement unconditional branches, fixing UnitTests/2003-05-02-DependentPHI.c  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23034  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-25 00:29:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ed7956bfe4 
					 
					
						
						
							
							Fix a broken assertion  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23032  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-25 00:19:12 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2b54400f08 
					 
					
						
						
							
							Split IMPLICIT_DEF into IMPLICIT_DEF_GPR and IMPLICIT_DEF_FP, so that the  
						
						... 
						
						
						
						instructions take a consistent reg class.  Implement ISD::UNDEF in the dag->dag
selector to generate this, fixing UnitTests/2003-07-06-IntOverflow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23028  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-24 23:08:16 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						fb0c964364 
					 
					
						
						
							
							implement support for calls  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23026  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-24 22:45:17 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						c6b0717a6c 
					 
					
						
						
							
							Remove unused statistic  
						
						... 
						
						
						
						Prefer 'neg X' to 'subfic 0, X' since neg does not set XER[CA]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23001  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-24 05:03:20 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a2590c5b3e 
					 
					
						
						
							
							Add callseq_begin/end support  
						
						... 
						
						
						
						Call stil not supported yet
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22998  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-24 00:47:15 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f7f2255505 
					 
					
						
						
							
							Implement stores.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22963  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-22 01:27:59 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ddf3e7dfd7 
					 
					
						
						
							
							Fix compilation of:  
						
						... 
						
						
						
						float %test2(float* %P) {
        %Q = load float* %P
        %R = add float %Q, %Q
        ret float %R
}
By returning the right result.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22961  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-22 00:59:14 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9944b76cfe 
					 
					
						
						
							
							Implement most of load support.  There is still a bug though.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22959  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-21 22:31:09 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2fbb4579d6 
					 
					
						
						
							
							Implement selection for branches.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22951  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-21 18:50:37 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4416f1a0a5 
					 
					
						
						
							
							add support for global address, including PIC support.  
						
						... 
						
						
						
						This REALLY should be lowered by the legalizer!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22941  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-19 22:38:53 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						7e65997c43 
					 
					
						
						
							
							Fix a typeo, no wonder all tokenfactor edges were the same!  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22935  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-19 21:33:02 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						02b88a4586 
					 
					
						
						
							
							ISD::OR, and it's accompanying SelectBitfieldInsert  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22889  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-19 00:38:14 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						c15ed447f4 
					 
					
						
						
							
							Add shifts.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22884  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-18 23:38:00 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						0bc04231c0 
					 
					
						
						
							
							Move this to the emitter  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22877  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-18 20:08:53 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d607c12e8e 
					 
					
						
						
							
							After selecting the instructions for a basic block, emit the instructions  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22869  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-18 18:46:06 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f5fac3b4a6 
					 
					
						
						
							
							remove some unused stuff  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22866  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-18 18:34:00 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						a694047813 
					 
					
						
						
							
							Improve ISD::Constant codegen.  
						
						... 
						
						
						
						Now for int foo() { return -1; } we generate:
_foo:
        li r3, -1
        blr
instead of
_foo:
        lis r2, -1
        ori r3, r2, 65535
        blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22864  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-18 18:01:39 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						cffc32b6e2 
					 
					
						
						
							
							Add support for ISD::AND, and its various optimized forms.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22857  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-18 07:30:46 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						131a880520 
					 
					
						
						
							
							Maintain consistency in negating things  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22855  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-18 05:44:50 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						0f3257a330 
					 
					
						
						
							
							Implement XOR, remove a broken sign_extend_inreg case  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22854  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-18 05:00:13 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						305a1c75cf 
					 
					
						
						
							
							Add a bunch more simple nodes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22851  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-18 03:04:18 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						6a7d61179c 
					 
					
						
						
							
							Add a couple more nodes that are easy to handle  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22850  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-18 00:53:47 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						b5a0668d43 
					 
					
						
						
							
							Be fruitful and multiply!  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22849  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-18 00:21:41 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						26653500bb 
					 
					
						
						
							
							Teach the DAG->DAG ISel about FNEG, and how it can be used to invert  
						
						... 
						
						
						
						several of the PowerPC opcodes that come in both negated and non-negated
forms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22845  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-17 23:46:35 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a5a91b1026 
					 
					
						
						
							
							initial hack at a dag->dag instruction selector.  This is obviously woefully  
						
						... 
						
						
						
						incomplete, but it is a start.  It handles basic argument/retval stuff, immediates,
add and sub.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22836  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-17 19:33:03 +00:00