Chris Lattner 
							
						 
					 
					
						
						
							
						
						70c2a61e0a 
					 
					
						
						
							
							Significantly improve handling of vectors that are live across basic blocks,  
						
						... 
						
						
						
						handling cases where the vector elements need promotion, expansion, and when
the vector type itself needs to be decimated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27278  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-31 02:06:56 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						354cde9a7e 
					 
					
						
						
							
							new node  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27231  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-28 19:54:42 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f35b29765b 
					 
					
						
						
							
							Add an assertion  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27228  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-28 19:04:49 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						48b61a729d 
					 
					
						
						
							
							Tblgen doesn't like multiple SDNode<> definitions that map to the sameenum value.  Split them into separate enums.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27201  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-28 00:40:33 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						401ec7f6a9 
					 
					
						
						
							
							Unbreak the build on non-apple compilers :-(  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27173  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-27 16:10:59 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						23cc8708c3 
					 
					
						
						
							
							Try again  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27171  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-27 08:10:26 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						f48b50a7ef 
					 
					
						
						
							
							Incorrect check for FP all one's  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27169  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-27 07:26:17 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						a8df166fbe 
					 
					
						
						
							
							Change isBuildVectorAllOnesInteger to isBuildVectorAllOnes. Also check for  
						
						... 
						
						
						
						floating point cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27165  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-27 06:58:47 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						70a248d284 
					 
					
						
						
							
							Instead of printing "INTRINSIC" on intrinsic node, print the intrinsic name.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27164  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-27 06:45:25 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						4a147842eb 
					 
					
						
						
							
							Add ISD::isBuildVectorAllZeros predicate  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27147  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-26 09:50:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						452e8354d5 
					 
					
						
						
							
							Fix a bug in ISD::isBuildVectorAllOnesInteger that  caused it to always return  
						
						... 
						
						
						
						false
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27131  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-25 22:59:28 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						61d4399dfc 
					 
					
						
						
							
							Implement the ISD::isBuildVectorAllOnesInteger predicate  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27130  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-25 22:57:01 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e8a30fdf51 
					 
					
						
						
							
							fix some bogus assertions: noop bitconverts are legal  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27032  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-24 02:20:47 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3e8f3ce8f6 
					 
					
						
						
							
							Identify the INTRINSIC node  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27020  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-24 01:04:30 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e25ca692c0 
					 
					
						
						
							
							Implement simple support for vector casting.  This can currently only handle  
						
						... 
						
						
						
						casts between legal vector types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26961  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-22 20:09:35 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						384504cea6 
					 
					
						
						
							
							add some trivial support for extractelement.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26928  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-21 20:44:12 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1c6191ffe7 
					 
					
						
						
							
							Add a hacky workaround for crashes due to vectors live across blocks.  
						
						... 
						
						
						
						Note that this code won't work for vectors that aren't legal on the
target.  Improvements coming.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26925  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-21 19:20:37 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						fb194b9e73 
					 
					
						
						
							
							Add very basic support for VECTOR_SHUFFLE  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26880  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-19 23:56:04 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ce87215131 
					 
					
						
						
							
							Add SCALAR_TO_VECTOR support  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26866  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-19 06:31:19 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b2827b0901 
					 
					
						
						
							
							Rename ConstantVec -> BUILD_VECTOR and VConstant -> VBUILD_VECTOR.  Allow*BUILD_VECTOR to take variable inputs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26847  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-19 00:52:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c7029805ef 
					 
					
						
						
							
							Change the structure of lowering vector stuff.  Note: This breaks some  
						
						... 
						
						
						
						things.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26840  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-18 01:44:44 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						0c486bdc22 
					 
					
						
						
							
							add a couple enum values  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26830  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-17 19:53:59 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						81e8097377 
					 
					
						
						
							
							Remove BRTWOWAY*  
						
						... 
						
						
						
						Make the PPC backend not dependent on BRTWOWAY_CC and make the branch
selector smarter about the code it generates, fixing a case in the
readme.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26814  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-17 01:40:33 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						28b5b1c7b5 
					 
					
						
						
							
							add support for vector->vector casts  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26788  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-15 22:19:46 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3c232c83be 
					 
					
						
						
							
							Don't depend on the C99 copysign function, implement it ourselves.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26566  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-05 23:57:58 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						3d68e15c20 
					 
					
						
						
							
							Fix VC++ compilation error.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26554  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-05 21:43:37 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						12d830346b 
					 
					
						
						
							
							Add some simple copysign folds  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26543  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-05 05:30:57 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a09f848c11 
					 
					
						
						
							
							Codegen copysign[f] into a FCOPYSIGN node  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26542  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-05 05:09:38 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						bfa284f697 
					 
					
						
						
							
							SDOperand::isOperand should not be a forwarding. It must check *this against N's operands.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26502  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-03 06:42:32 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						80d8eaae05 
					 
					
						
						
							
							Added isOperand(N): true if this is an operand of N  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26501  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-03 06:24:54 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						41edaa0529 
					 
					
						
						
							
							remove the read/write port/io intrinsics.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26479  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-03 00:19:58 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						1ab7d859cf 
					 
					
						
						
							
							- Added VConstant as an abstract version of ConstantVec.  
						
						... 
						
						
						
						- All abstrct vector nodes must have # of elements and element type as their
first two operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26432  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-03-01 00:51:13 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						38b7327ec0 
					 
					
						
						
							
							Print ConstantPoolSDNode offset field.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26381  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-26 08:36:57 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						404cb4f9fa 
					 
					
						
						
							
							Added an offset field to ConstantPoolSDNode.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26371  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-25 09:54:52 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						b0d04a7dea 
					 
					
						
						
							
							Add checks to make sure we don't create bogus extend nodes, and fix a bug  
						
						... 
						
						
						
						where we were doing exactly that which was causing failures on x86 and
alpha.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26284  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-18 02:40:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						012f241987 
					 
					
						
						
							
							Fix a tricky issue in the SimplifyDemandedBits code where CombineTo wasn't  
						
						... 
						
						
						
						exactly the API we wanted to call into.  This fixes the crash on crafty last
night.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26269  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-17 21:58:01 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						551bf3f800 
					 
					
						
						
							
							kill ADD_PARTS & SUB_PARTS and replace them with fancy new ADDC, ADDE, SUBC  
						
						... 
						
						
						
						and SUBE nodes that actually expose what's going on and allow for
significant simplifications in the targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26255  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-17 05:43:56 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						fae9f1cb34 
					 
					
						
						
							
							Added SelectionDAG::InsertISelMapEntry(). This is used to workaround the gcc  
						
						... 
						
						
						
						problem where it inline the map insertion call too aggressively. Before this
change it was producing a frame size of 24k for Select_store(), now it's down
to 10k (by calling this method rather than calling the map insertion operator).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26094  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-09 22:11:03 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						6ae46c4c87 
					 
					
						
						
							
							More changes to reduce frame size.  
						
						... 
						
						
						
						Move all getTargetNode() out of SelectionDAG.h into SelectionDAG.cpp. This
prevents them from being inlined.
Change getTargetNode() so they return SDNode * instead of SDOperand to prevent
copying. It should also help compilation speed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26083  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-09 07:15:23 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						4ee6211258 
					 
					
						
						
							
							* Added SDNode::isOnlyUse().  
						
						... 
						
						
						
						* Fix hasNUsesOfValue(), it should be const.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25990  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-05 06:29:23 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						eefae25034 
					 
					
						
						
							
							remove dead fn  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25935  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-03 06:51:34 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						9fda2f9106 
					 
					
						
						
							
							Added case HANDLENODE to getOperationName().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25920  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-02-03 01:33:01 +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 
							
						 
					 
					
						
						
							
						
						70814bc384 
					 
					
						
						
							
							Remove some special case hacks for CALLSEQ_*, using UpdateNodeOperands  
						
						... 
						
						
						
						instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25780  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-29 07:58:15 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3181a771ff 
					 
					
						
						
							
							Legalize ConstantFP into TargetConstantFP when the target allows.  Implement  
						
						... 
						
						
						
						custom expansion of ConstantFP nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25772  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-29 06:26:56 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						809ec11088 
					 
					
						
						
							
							add another method variant  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25744  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-28 10:09:25 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						df6eb30fa9 
					 
					
						
						
							
							add some methods for updating nodes  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25742  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-28 09:32:45 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						0ff5c27a00 
					 
					
						
						
							
							Remove the ISD::CALL and ISD::TAILCALL nodes  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25721  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-28 00:18:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ce7518ce92 
					 
					
						
						
							
							initial selectiondag support for new INLINEASM node.  Note that inline asms  
						
						... 
						
						
						
						with outputs or inputs are not supported yet. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25664  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-01-26 22:24:51 +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