Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								245dceb06d 
								
							 
						 
						
							
							
								
								Add APInt interfaces to APFloat (allows directly  
							
							 
							
							... 
							
							
							
							access to bits).  Use them in place of float and
double interfaces where appropriate.
First bits of x86 long double constants handling 
(untested, probably does not work).
llvm-svn: 41858 
							
						 
						
							2007-09-11 18:32:33 +00:00  
						
					 
				
					
						
							
							
								 
								Duncan Sands
							
						 
						
							 
							
							
							
							
								
							
							
								86e0119822 
								
							 
						 
						
							
							
								
								Fold the adjust_trampoline intrinsic into  
							
							 
							
							... 
							
							
							
							init_trampoline.  There is now only one
trampoline intrinsic.
llvm-svn: 41841 
							
						 
						
							2007-09-11 14:10:23 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								29e6ac4281 
								
							 
						 
						
							
							
								
								Implement misaligned FP loads and stores.  
							
							 
							
							... 
							
							
							
							llvm-svn: 41786 
							
						 
						
							2007-09-08 19:29:23 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								d246b2ca5c 
								
							 
						 
						
							
							
								
								Change LegalFPImmediates to use APFloat.  
							
							 
							
							... 
							
							
							
							Add APFloat interfaces to ConstantFP, SelectionDAG.
Fix integer bit in double->APFloat conversion.
Convert LegalizeDAG to use APFloat interface in
ConstantFPSDNode uses.
llvm-svn: 41587 
							
						 
						
							2007-08-30 00:23:21 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								2bdec2a5ee 
								
							 
						 
						
							
							
								
								Fix use of declaration inside case block  
							
							 
							
							... 
							
							
							
							llvm-svn: 41584 
							
						 
						
							2007-08-29 23:18:48 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								830b1cb4e9 
								
							 
						 
						
							
							
								
								Lower FRAME_TO_ADDR_OFFSET to zero by default (if not custom lowered)  
							
							 
							
							... 
							
							
							
							llvm-svn: 41578 
							
						 
						
							2007-08-29 19:28:29 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2ed652f11d 
								
							 
						 
						
							
							
								
								Allow target constants to be illegal types.  The target should  
							
							 
							
							... 
							
							
							
							know how to handle them.  This fixes 
test/CodeGen/Generic/asm-large-immediate.ll
llvm-svn: 41388 
							
						 
						
							2007-08-25 01:00:22 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								cb6d65e1bf 
								
							 
						 
						
							
							
								
								Avoid issue on 64-bit hosts.  
							
							 
							
							... 
							
							
							
							llvm-svn: 41143 
							
						 
						
							2007-08-17 18:02:22 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								631ccc6144 
								
							 
						 
						
							
							
								
								If dynamic_stackalloc alignment is > stack alignment, first issue an instruction to align the stack ptr before the decrement.  
							
							 
							
							... 
							
							
							
							llvm-svn: 41133 
							
						 
						
							2007-08-16 23:50:06 +00:00  
						
					 
				
					
						
							
							
								 
								Lauro Ramos Venancio
							
						 
						
							 
							
							
							
							
								
							
							
								a392cd2fde 
								
							 
						 
						
							
							
								
								Implement FPOWI ExpandOp.  
							
							 
							
							... 
							
							
							
							Fix PR1287.
llvm-svn: 41112 
							
						 
						
							2007-08-15 22:13:27 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								c339e45274 
								
							 
						 
						
							
							
								
								Update per review comments.  
							
							 
							
							... 
							
							
							
							llvm-svn: 40965 
							
						 
						
							2007-08-09 17:27:48 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								ba1a98a4e0 
								
							 
						 
						
							
							
								
								long double 9 of N.  This finishes up the X86-32 bits  
							
							 
							
							... 
							
							
							
							(constants are still not handled).  Adds ConvertActions
to control fp-to-fp conversions (these are currently
defaulted for all other targets, so no changes there).
llvm-svn: 40958 
							
						 
						
							2007-08-09 01:04:01 +00:00  
						
					 
				
					
						
							
							
								 
								Scott Michel
							
						 
						
							 
							
							
							
							
								
							
							
								9d09c5ccda 
								
							 
						 
						
							
							
								
								If a target really needs to custom lower constants, it should be allowed  
							
							 
							
							... 
							
							
							
							to do so.
llvm-svn: 40955 
							
						 
						
							2007-08-08 23:23:31 +00:00  
						
					 
				
					
						
							
							
								 
								Scott Michel
							
						 
						
							 
							
							
							
							
								
							
							
								5b80ecbcf5 
								
							 
						 
						
							
							
								
								Style police: Expand the tabs to spaces!  
							
							 
							
							... 
							
							
							
							llvm-svn: 40712 
							
						 
						
							2007-08-02 02:22:46 +00:00  
						
					 
				
					
						
							
							
								 
								Lauro Ramos Venancio
							
						 
						
							 
							
							
							
							
								
							
							
								0db4418a5f 
								
							 
						 
						
							
							
								
								Expand unaligned loads/stores when the target doesn't support them. (PR1548)  
							
							 
							
							... 
							
							
							
							llvm-svn: 40682 
							
						 
						
							2007-08-01 19:34:21 +00:00  
						
					 
				
					
						
							
							
								 
								Scott Michel
							
						 
						
							 
							
							
							
							
								
							
							
								34e2d22d63 
								
							 
						 
						
							
							
								
								- Allow custom lowering for CTPOP, CTTZ, CTLZ.  
							
							 
							
							... 
							
							
							
							- Fixed an existing unexpanded tab.
llvm-svn: 40605 
							
						 
						
							2007-07-30 21:00:31 +00:00  
						
					 
				
					
						
							
							
								 
								Duncan Sands
							
						 
						
							 
							
							
							
							
								
							
							
								644f917358 
								
							 
						 
						
							
							
								
								Support for trampolines, except for X86 codegen which is  
							
							 
							
							... 
							
							
							
							still under discussion.
llvm-svn: 40549 
							
						 
						
							2007-07-27 12:58:54 +00:00  
						
					 
				
					
						
							
							
								 
								Christopher Lamb
							
						 
						
							 
							
							
							
							
								
							
							
								a8fc0e527b 
								
							 
						 
						
							
							
								
								Add selection DAG nodes for subreg insert/extract. PR1350  
							
							 
							
							... 
							
							
							
							llvm-svn: 40516 
							
						 
						
							2007-07-26 07:34:40 +00:00  
						
					 
				
					
						
							
							
								 
								Christopher Lamb
							
						 
						
							 
							
							
							
							
								
							
							
								3fead96121 
								
							 
						 
						
							
							
								
								Fix infinite recursion for when extract_vector_elt is legal. Unfortunately no public targets use this code-path, so no test.  
							
							 
							
							... 
							
							
							
							llvm-svn: 40510 
							
						 
						
							2007-07-26 03:33:13 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								06c60b6032 
								
							 
						 
						
							
							
								
								Fix comments about vectors to use the current wording.  
							
							 
							
							... 
							
							
							
							llvm-svn: 39921 
							
						 
						
							2007-07-16 14:29:03 +00:00  
						
					 
				
					
						
							
							
								 
								Nick Lewycky
							
						 
						
							 
							
							
							
							
								
							
							
								d20f485866 
								
							 
						 
						
							
							
								
								Fix the build. Patch from Holger Schurig.  
							
							 
							
							... 
							
							
							
							llvm-svn: 39856 
							
						 
						
							2007-07-14 15:11:14 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								383a324735 
								
							 
						 
						
							
							
								
								Long live the exception handling!  
							
							 
							
							... 
							
							
							
							This patch fills the last necessary bits to enable exceptions
handling in LLVM. Currently only on x86-32/linux.
In fact, this patch adds necessary intrinsics (and their lowering) which
represent really weird target-specific gcc builtins used inside unwinder.
After corresponding llvm-gcc patch will land (easy) exceptions should be
more or less workable. However, exceptions handling support should not be 
thought as 'finished': I expect many small and not so small glitches
everywhere.
llvm-svn: 39855 
							
						 
						
							2007-07-14 14:06:15 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								ff72788863 
								
							 
						 
						
							
							
								
								Fix the comment for LegalizeOp to more accurately reflect what it does.  
							
							 
							
							... 
							
							
							
							llvm-svn: 39827 
							
						 
						
							2007-07-13 20:14:11 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								32aad49b24 
								
							 
						 
						
							
							
								
								Move DenseMapKeyInfo<SDOperand> from LegalizeDAG.cpp to SelectionDAGNodes.h  
							
							 
							
							... 
							
							
							
							llvm-svn: 38484 
							
						 
						
							2007-07-10 06:59:55 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								2af3063337 
								
							 
						 
						
							
							
								
								Preserve volatililty and alignment information when lowering or  
							
							 
							
							... 
							
							
							
							simplifying loads and stores.
llvm-svn: 38473 
							
						 
						
							2007-07-09 22:18:38 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								a2b3c175db 
								
							 
						 
						
							
							
								
								Fix for PR 1505 (and 1489).  Rewrite X87 register  
							
							 
							
							... 
							
							
							
							model to include f32 variants.  Some factoring
improvments forthcoming.
llvm-svn: 37847 
							
						 
						
							2007-07-03 00:53:03 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								0de7694de6 
								
							 
						 
						
							
							
								
								Fix an assertion failure in legalizing bitcast operators on targets where  
							
							 
							
							... 
							
							
							
							vectors are split down to single elements as part of legalization.
llvm-svn: 37785 
							
						 
						
							2007-06-29 00:09:08 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								3b62d7265d 
								
							 
						 
						
							
							
								
								Rename ("shrinkify") MVT::isExtendedValueType to MVT::isExtendedVT.  
							
							 
							
							... 
							
							
							
							llvm-svn: 37758 
							
						 
						
							2007-06-27 16:08:04 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								f4e86da3a6 
								
							 
						 
						
							
							
								
								Make the comment for ScalarizeVectorOp mention that it is only for use  
							
							 
							
							... 
							
							
							
							with single-element vectors.
llvm-svn: 37752 
							
						 
						
							2007-06-27 14:06:22 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								a866514528 
								
							 
						 
						
							
							
								
								Generalize MVT::ValueType and associated functions to be able to represent  
							
							 
							
							... 
							
							
							
							extended vector types. Remove the special SDNode opcodes used for pre-legalize
vector operations, and the special MVT::Vector type used with them. Adjust
lowering and legalize to work with the normal SDNode kinds instead, and to
use the normal MVT functions to work with vector types instead of using the
two special operands that the pre-legalize nodes held.
This allows pre-legalize and post-legalize DAGs, and the code that operates
on them, to be more consistent. Pre-legalize vector operators can be handled
more consistently with scalar operators. And, -view-dag-combine1-dags and
-view-legalize-dags now look prettier for vector code.
llvm-svn: 37719 
							
						 
						
							2007-06-25 16:23:39 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								309d3d51b3 
								
							 
						 
						
							
							
								
								Move ComputeMaskedBits, MaskedValueIsZero, and ComputeNumSignBits from  
							
							 
							
							... 
							
							
							
							TargetLowering to SelectionDAG so that they have more convenient
access to the current DAG, in preparation for the ValueType routines
being changed from standalone functions to members of SelectionDAG for
the pre-legalize vector type changes.
llvm-svn: 37704 
							
						 
						
							2007-06-22 14:59:07 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								8e8d34b220 
								
							 
						 
						
							
							
								
								Tidy up ValueType names in comments.  
							
							 
							
							... 
							
							
							
							llvm-svn: 37688 
							
						 
						
							2007-06-21 14:48:26 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e31adc8ab9 
								
							 
						 
						
							
							
								
								make ComputeTopDownOrdering significantly faster and use less stack space  
							
							 
							
							... 
							
							
							
							by making it non-recursive
llvm-svn: 37629 
							
						 
						
							2007-06-18 21:28:10 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								5c4413120f 
								
							 
						 
						
							
							
								
								Rename MVT::getVectorBaseType to MVT::getVectorElementType.  
							
							 
							
							... 
							
							
							
							llvm-svn: 37579 
							
						 
						
							2007-06-14 22:58:02 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								26455c4ae0 
								
							 
						 
						
							
							
								
								Introduce new SelectionDAG node opcodes VEXTRACT_SUBVECTOR and  
							
							 
							
							... 
							
							
							
							VCONCAT_VECTORS. Use these for CopyToReg and CopyFromReg legalizing in
the case that the full register is to be split into subvectors instead
of scalars. This replaces uses of VBIT_CONVERT to present values as
vector-of-vector types in order to make whole subvectors accessible via
BUILD_VECTOR and EXTRACT_VECTOR_ELT.
This is in preparation for adding extended ValueType values, where
having vector-of-vector types is undesirable.
llvm-svn: 37569 
							
						 
						
							2007-06-13 15:12:02 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								b4c2690446 
								
							 
						 
						
							
							
								
								Pass the DAG to SDNode::dump to let it do more detailed dumps in some cases.  
							
							 
							
							... 
							
							
							
							llvm-svn: 37413 
							
						 
						
							2007-06-04 16:17:33 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								1796f1f8e9 
								
							 
						 
						
							
							
								
								Qualify several calls to functions in the MVT namespace, for consistency.  
							
							 
							
							... 
							
							
							
							llvm-svn: 37230 
							
						 
						
							2007-05-18 17:52:13 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2135bc08d6 
								
							 
						 
						
							
							
								
								add expand support for ADDC/SUBC/ADDE/SUBE so we can codegen 128-bit add/sub on 32-bit (or less) targets  
							
							 
							
							... 
							
							
							
							llvm-svn: 37168 
							
						 
						
							2007-05-17 18:15:41 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								07e6f3257c 
								
							 
						 
						
							
							
								
								Propagate alignment/volatility in two places.  
							
							 
							
							... 
							
							
							
							Implement support for expanding a bitcast from an illegal vector type to
a legal one (e.g. 4xi32 -> 4xf32 in SSE1).  This fixes PR1371 and
CodeGen/X86/2007-05-05-VecCastExpand.ll
llvm-svn: 36787 
							
						 
						
							2007-05-05 19:39:05 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1deacd61f4 
								
							 
						 
						
							
							
								
								memory inputs to an inline asm are required to have an address available.  
							
							 
							
							... 
							
							
							
							If the operand is not already an indirect operand, spill it to a constant
pool entry or a stack slot.
This fixes PR1356 and CodeGen/X86/2007-04-27-InlineAsm-IntMemInput.ll
llvm-svn: 36536 
							
						 
						
							2007-04-28 06:42:38 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1cbe208cda 
								
							 
						 
						
							
							
								
								Fix incorrect legalization of EHSELECTOR.  This fixes  
							
							 
							
							... 
							
							
							
							CodeGen/Generic/2007-04-14-EHSelectorCrash.ll and PR1326
llvm-svn: 36510 
							
						 
						
							2007-04-27 17:12:52 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								bf535fc8bd 
								
							 
						 
						
							
							
								
								Expand UINT_TO_FP in turns of SINT_TO_FP when UINTTOFP_* libcalls are not available.  
							
							 
							
							... 
							
							
							
							llvm-svn: 36501 
							
						 
						
							2007-04-27 07:33:31 +00:00  
						
					 
				
					
						
							
							
								 
								Lauro Ramos Venancio
							
						 
						
							 
							
							
							
							
								
							
							
								94314be0e0 
								
							 
						 
						
							
							
								
								Allow the lowering of ISD::GLOBAL_OFFSET_TABLE.  
							
							 
							
							... 
							
							
							
							llvm-svn: 36290 
							
						 
						
							2007-04-20 23:02:39 +00:00  
						
					 
				
					
						
							
							
								 
								Lauro Ramos Venancio
							
						 
						
							 
							
							
							
							
								
							
							
								2518889872 
								
							 
						 
						
							
							
								
								Implement "general dynamic", "initial exec" and "local exec" TLS models for  
							
							 
							
							... 
							
							
							
							X86 32 bits.
llvm-svn: 36283 
							
						 
						
							2007-04-20 21:38:10 +00:00  
						
					 
				
					
						
							
							
								 
								Scott Michel
							
						 
						
							 
							
							
							
							
								
							
							
								16627a542f 
								
							 
						 
						
							
							
								
								1. Insert custom lowering hooks for ISD::ROTR and ISD::ROTL.  
							
							 
							
							... 
							
							
							
							2. Help DAGCombiner recognize zero/sign/any-extended versions of ROTR and ROTL
patterns. This was motivated by the X86/rotate.ll testcase, which should now
generate code for other platforms (and soon-to-come platforms.) Rewrote code
slightly to make it easier to read.
llvm-svn: 35605 
							
						 
						
							2007-04-02 21:36:32 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2a991268f7 
								
							 
						 
						
							
							
								
								don't rely on ADL  
							
							 
							
							... 
							
							
							
							llvm-svn: 35299 
							
						 
						
							2007-03-24 17:37:03 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								ed4b303c10 
								
							 
						 
						
							
							
								
								Refactoring of formal parameter flags. Enable properly use of  
							
							 
							
							... 
							
							
							
							zext/sext/aext stuff.
llvm-svn: 35008 
							
						 
						
							2007-03-07 16:25:09 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								13780ac7db 
								
							 
						 
						
							
							
								
								big endian 32-bit systems (e.g. ppc32) want to return the high reg first, not  
							
							 
							
							... 
							
							
							
							the lo-reg first.  This is fallout from my ppc calling conv change yesterday,
it fixes test/ExecutionEngine/2003-05-06-LivenessClobber.llx
llvm-svn: 34983 
							
						 
						
							2007-03-06 20:01:06 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ca401aac31 
								
							 
						 
						
							
							
								
								Fix CodeGen/Generic/fpowi-promote.ll and PR1239  
							
							 
							
							... 
							
							
							
							llvm-svn: 34893 
							
						 
						
							2007-03-03 23:43:21 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								567b9254cd 
								
							 
						 
						
							
							
								
								Add an expand action for ISD label which just deletes the label.  
							
							 
							
							... 
							
							
							
							This "fixes" PR1238.
llvm-svn: 34890 
							
						 
						
							2007-03-03 19:21:38 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Laskey
							
						 
						
							 
							
							
							
							
								
							
							
								644af6b68f 
								
							 
						 
						
							
							
								
								Chain is on second operand.  
							
							 
							
							... 
							
							
							
							llvm-svn: 34759 
							
						 
						
							2007-02-28 20:43:58 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Laskey
							
						 
						
							 
							
							
							
							
								
							
							
								b869ab6f31 
								
							 
						 
						
							
							
								
								Drop unused operand.  
							
							 
							
							... 
							
							
							
							llvm-svn: 34555 
							
						 
						
							2007-02-24 09:44:17 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Laskey
							
						 
						
							 
							
							
							
							
								
							
							
								7f5872c455 
								
							 
						 
						
							
							
								
								Simplify lowering and selection of exception ops.  
							
							 
							
							... 
							
							
							
							llvm-svn: 34491 
							
						 
						
							2007-02-22 15:37:19 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Laskey
							
						 
						
							 
							
							
							
							
								
							
							
								4b37a4c712 
								
							 
						 
						
							
							
								
								Selection and lowering for exception handling.  
							
							 
							
							... 
							
							
							
							llvm-svn: 34481 
							
						 
						
							2007-02-21 22:53:45 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								09575bac2e 
								
							 
						 
						
							
							
								
								For PR1195:  
							
							 
							
							... 
							
							
							
							Change use of "packed" term to "vector" in comments, strings, variable
names, etc.
llvm-svn: 34300 
							
						 
						
							2007-02-15 03:39:18 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								d84d35ba70 
								
							 
						 
						
							
							
								
								For PR1195:  
							
							 
							
							... 
							
							
							
							Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and
PackedTyID -> VectorTyID. No functional changes.
llvm-svn: 34293 
							
						 
						
							2007-02-15 02:26:10 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								945e437c65 
								
							 
						 
						
							
							
								
								Generalize TargetData strings, to support more interesting forms of data.  
							
							 
							
							... 
							
							
							
							Patch by Scott Michel.
llvm-svn: 34266 
							
						 
						
							2007-02-14 05:52:17 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								59b27fa371 
								
							 
						 
						
							
							
								
								implement expand of truncate.  This allows truncates from i128 to i64 to  
							
							 
							
							... 
							
							
							
							be supported on 32-bit hosts.
llvm-svn: 34257 
							
						 
						
							2007-02-13 23:55:16 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								93049457ee 
								
							 
						 
						
							
							
								
								Make use of TLI.SimplifySetCC() in LegalizeSetCCOperands().  
							
							 
							
							... 
							
							
							
							llvm-svn: 34066 
							
						 
						
							2007-02-08 22:16:19 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								94c44c96d3 
								
							 
						 
						
							
							
								
								swtich vector-> smallvector, speeding up selectiondag stuff 1%  
							
							 
							
							... 
							
							
							
							llvm-svn: 33861 
							
						 
						
							2007-02-04 01:20:02 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4b0ddb22e9 
								
							 
						 
						
							
							
								
								Switch promoted/expanded ops over to using a DenseMap.  Vector related maps  
							
							 
							
							... 
							
							
							
							aren't worth it.
llvm-svn: 33860 
							
						 
						
							2007-02-04 01:17:38 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ed39c86176 
								
							 
						 
						
							
							
								
								switch LegalizedNodes from std::map to a DenseMap.  This speeds up isel  
							
							 
							
							... 
							
							
							
							time as a whole on kc++ by 11%.
llvm-svn: 33857 
							
						 
						
							2007-02-04 00:50:02 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ebeb48d4bc 
								
							 
						 
						
							
							
								
								Eliminate some malloc traffic from LegalizeAllNodesNotLeadingTo, speeding  
							
							 
							
							... 
							
							
							
							up isel on kimwitu by 0.7%.
llvm-svn: 33853 
							
						 
						
							2007-02-04 00:27:56 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e83030b9c8 
								
							 
						 
						
							
							
								
								Switch ComputeTopDownOrdering over to using a densemap.  This speeds up  
							
							 
							
							... 
							
							
							
							isel as a whole by 3.3%.
llvm-svn: 33809 
							
						 
						
							2007-02-03 01:12:36 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								f309d13677 
								
							 
						 
						
							
							
								
								Pasto  
							
							 
							
							... 
							
							
							
							llvm-svn: 33806 
							
						 
						
							2007-02-03 00:43:46 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								1b4e6015b4 
								
							 
						 
						
							
							
								
								Fixed uninitialized stuff inside LegalizeDAG. Fortunately, the only  
							
							 
							
							... 
							
							
							
							affected part is codegen of "memove" inside x86 backend. This fixes
PR1144
llvm-svn: 33752 
							
						 
						
							2007-02-01 08:39:52 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								296a83cefb 
								
							 
						 
						
							
							
								
								Fit in 80 columns  
							
							 
							
							... 
							
							
							
							llvm-svn: 33745 
							
						 
						
							2007-02-01 04:55:59 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								53026f1d5a 
								
							 
						 
						
							
							
								
								Allow the target to override the ISD::CondCode that's to be used to test the  
							
							 
							
							... 
							
							
							
							result of the comparison libcall against zero.
llvm-svn: 33701 
							
						 
						
							2007-01-31 09:29:11 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								eda5997cc8 
								
							 
						 
						
							
							
								
								Finish off bug 680, allowing targets to custom lower frame and return  
							
							 
							
							... 
							
							
							
							address nodes.
llvm-svn: 33636 
							
						 
						
							2007-01-29 22:58:52 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								9fa3839d29 
								
							 
						 
						
							
							
								
								More cleanup  
							
							 
							
							... 
							
							
							
							llvm-svn: 33605 
							
						 
						
							2007-01-28 16:04:40 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								037c867b54 
								
							 
						 
						
							
							
								
								Propagate changes from my local tree. This patch includes:  
							
							 
							
							... 
							
							
							
							1. New parameter attribute called 'inreg'. It has meaning "place this
parameter in registers, if possible". This is some generalization of
gcc's regparm(n) attribute. It's currently used only in X86-32 backend.
2. Completely rewritten CC handling/lowering code inside X86 backend.
Merged stdcall + c CCs and fastcall + fast CC.
3. Dropped CSRET CC. We cannot add struct return variant for each
target-specific CC (e.g. stdcall + csretcc and so on).
4. Instead of CSRET CC introduced 'sret' parameter attribute. Setting in
on first attribute has meaning 'This is hidden pointer to structure
return. Handle it gently'.
5. Fixed small bug in llvm-extract + add new feature to
FunctionExtraction pass, which relinks all internal-linkaged callees
from deleted function to external linkage. This will allow further
linking everything together.
NOTEs: 1. Documentation will be updated soon.
       2. llvm-upgrade should be improved to translate csret => sret.
          Before this, there will be some unexpected test fails.
llvm-svn: 33597 
							
						 
						
							2007-01-28 13:31:35 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Laskey
							
						 
						
							 
							
							
							
							
								
							
							
								c56315c2b5 
								
							 
						 
						
							
							
								
								Change the MachineDebugInfo to MachineModuleInfo to better reflect usage  
							
							 
							
							... 
							
							
							
							for debugging and exception handling.
llvm-svn: 33550 
							
						 
						
							2007-01-26 21:22:28 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Laskey
							
						 
						
							 
							
							
							
							
								
							
							
								f9e5445ed4 
								
							 
						 
						
							
							
								
								Make LABEL a builtin opcode.  
							
							 
							
							... 
							
							
							
							llvm-svn: 33537 
							
						 
						
							2007-01-26 14:34:52 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								50ee0e40e5 
								
							 
						 
						
							
							
								
								Teach TargetData to handle 'preferred' alignment for each target, and use  
							
							 
							
							... 
							
							
							
							these alignment amounts to align scalars when we can.  Patch by Scott Michel!
llvm-svn: 33409 
							
						 
						
							2007-01-20 22:35:55 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								a94d394ad2 
								
							 
						 
						
							
							
								
								For PR1043:  
							
							 
							
							... 
							
							
							
							This is the final patch for this PR. It implements some minor cleanup
in the use of IntegerType, to wit:
1. Type::getIntegerTypeMask -> IntegerType::getBitMask
2. Type::Int*Ty changed to IntegerType* from Type*
3. ConstantInt::getType() returns IntegerType* now, not Type*
This also fixes PR1120.
Patch by Sheng Zhou.
llvm-svn: 33370 
							
						 
						
							2007-01-19 21:13:56 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								31cbddf28a 
								
							 
						 
						
							
							
								
								Store default libgcc routine names and allow them to be redefined by target.  
							
							 
							
							... 
							
							
							
							llvm-svn: 33105 
							
						 
						
							2007-01-12 02:11:51 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								5f80c450f3 
								
							 
						 
						
							
							
								
								Expand fcopysign to the bitwise sequence if select is marked as expensive.  
							
							 
							
							... 
							
							
							
							llvm-svn: 32940 
							
						 
						
							2007-01-05 23:33:44 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								3b841ddbe0 
								
							 
						 
						
							
							
								
								Bug in ExpandFCOPYSIGNToBitwiseOps(). Clear the old sign bit of operand 0  
							
							 
							
							... 
							
							
							
							before or'ing in the sign bit of operand 1.
llvm-svn: 32930 
							
						 
						
							2007-01-05 21:31:51 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								003feb03d5 
								
							 
						 
						
							
							
								
								Expand fcopysign to a series of bitwise of operations when it's profitable to  
							
							 
							
							... 
							
							
							
							do so.
llvm-svn: 32881 
							
						 
						
							2007-01-04 21:56:39 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								791864c6a5 
								
							 
						 
						
							
							
								
								Clean up from recent changes. Comment the new parameter to ExpandLibCall.  
							
							 
							
							... 
							
							
							
							Consolidate some lines of code and remove duplication.
llvm-svn: 32829 
							
						 
						
							2007-01-03 04:22:32 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								e63b6518fa 
								
							 
						 
						
							
							
								
								For PR950:  
							
							 
							
							... 
							
							
							
							Three changes:
1. Convert signed integer types to signless versions.
2. Implement the @sext and @zext parameter attributes. Previously the
   type of an function parameter was used to determine whether it should
   be sign extended or zero extended before the call. This information is
   now communicated via the function type's parameter attributes.
3. The interface to LowerCallTo had to be changed in order to accommodate
   the parameter attribute information. Although it would have been
   convenient to pass in the FunctionType itself, there isn't always one
   present in the caller. Consequently, a signedness indication for the
   result type and for each parameter was provided for in the interface
   to this method. All implementations were changed to make the adjustment
   necessary.
llvm-svn: 32788 
							
						 
						
							2006-12-31 05:55:36 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								9ad6edf2ec 
								
							 
						 
						
							
							
								
								May need to promote the operand (either sign_extend_inreg or and) before  
							
							 
							
							... 
							
							
							
							expanding a {s|u}int_to_fp.
llvm-svn: 32665 
							
						 
						
							2006-12-19 01:44:04 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								adc80f98cf 
								
							 
						 
						
							
							
								
								LegalizeSetCCOperands() may end up inserting libcalls. They need to be  
							
							 
							
							... 
							
							
							
							properly serialized. Do not clear LastCallSEQ_END until that is done.
llvm-svn: 32659 
							
						 
						
							2006-12-18 22:55:34 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								851e589eda 
								
							 
						 
						
							
							
								
								Expand FP undef  
							
							 
							
							... 
							
							
							
							llvm-svn: 32623 
							
						 
						
							2006-12-16 02:20:50 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								860004688a 
								
							 
						 
						
							
							
								
								Allow promoted FP_TO_UINT / FP_TO_SINT to expand operand.  
							
							 
							
							... 
							
							
							
							llvm-svn: 32621 
							
						 
						
							2006-12-16 02:10:30 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								388cbbf000 
								
							 
						 
						
							
							
								
								Expand fabs / fneg to and / xor.  
							
							 
							
							... 
							
							
							
							llvm-svn: 32619 
							
						 
						
							2006-12-16 00:52:40 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								884bc09d10 
								
							 
						 
						
							
							
								
								Fix select_cc, select expansion to soft-fp bugs.  
							
							 
							
							... 
							
							
							
							llvm-svn: 32616 
							
						 
						
							2006-12-15 22:42:55 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b1a9492ed7 
								
							 
						 
						
							
							
								
								silence a bogus warning  
							
							 
							
							... 
							
							
							
							llvm-svn: 32597 
							
						 
						
							2006-12-15 07:36:19 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								35fdd5ffe1 
								
							 
						 
						
							
							
								
								Expand FP compares to soft-fp call(s)  
							
							 
							
							... 
							
							
							
							llvm-svn: 32590 
							
						 
						
							2006-12-15 02:59:56 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Laskey
							
						 
						
							 
							
							
							
							
								
							
							
								70323a8146 
								
							 
						 
						
							
							
								
								1. Tidy up jump table info.  
							
							 
							
							... 
							
							
							
							2. Allow the jit to handle PIC relocable jump tables.
llvm-svn: 32581 
							
						 
						
							2006-12-14 19:17:33 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								22cf89967b 
								
							 
						 
						
							
							
								
								More soft-fp work.  
							
							 
							
							... 
							
							
							
							llvm-svn: 32559 
							
						 
						
							2006-12-13 20:57:08 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								e370e0eb09 
								
							 
						 
						
							
							
								
								Expand (f64 extload f32) to (f64 fp_ext (load f32)) if f64 type action is expand.  
							
							 
							
							... 
							
							
							
							llvm-svn: 32527 
							
						 
						
							2006-12-13 03:19:57 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								f3a80c6235 
								
							 
						 
						
							
							
								
								Expand fsqrt, fsin, and fcos to libcalls.  
							
							 
							
							... 
							
							
							
							llvm-svn: 32526 
							
						 
						
							2006-12-13 02:38:13 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								0a5b805f6d 
								
							 
						 
						
							
							
								
								Expand f32 / f64 to i32 / i64 conversion to soft-fp library calls.  
							
							 
							
							... 
							
							
							
							llvm-svn: 32523 
							
						 
						
							2006-12-13 01:57:55 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								3766fc60da 
								
							 
						 
						
							
							
								
								Expand FP constant to integers if FP types are not legal.  
							
							 
							
							... 
							
							
							
							llvm-svn: 32497 
							
						 
						
							2006-12-12 22:19:28 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								97a750fc47 
								
							 
						 
						
							
							
								
								Soft fp FNEG, SINT_TO_FP, UINT_TO_FP libcall expansion.  
							
							 
							
							... 
							
							
							
							llvm-svn: 32495 
							
						 
						
							2006-12-12 21:51:17 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								47833a1d28 
								
							 
						 
						
							
							
								
								Expand ConstantFP to load from CP if float types are being expanded.  
							
							 
							
							... 
							
							
							
							llvm-svn: 32494 
							
						 
						
							2006-12-12 21:32:44 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								0076ca0da9 
								
							 
						 
						
							
							
								
								- When expanding a bit_convert whose src operand is also to be expanded and  
							
							 
							
							... 
							
							
							
							its expansion result type is equal to the result type of the bit_convert,
e.g. (i64 bit_convert (f64 op)) if FP is not legal
returns the result of the expanded source operand.
- Store f32 / f64 may be expanded to a single store i32/i64.
llvm-svn: 32490 
							
						 
						
							2006-12-12 19:53:13 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2f96e7d241 
								
							 
						 
						
							
							
								
								fit in 80 cols  
							
							 
							
							... 
							
							
							
							llvm-svn: 32474 
							
						 
						
							2006-12-12 05:22:21 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								080881614d 
								
							 
						 
						
							
							
								
								this can only be fptrunc.  
							
							 
							
							... 
							
							
							
							llvm-svn: 32473 
							
						 
						
							2006-12-12 05:21:51 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6ba11fbd75 
								
							 
						 
						
							
							
								
								Revert Nate's patch to fix X86/store-fp-constant.ll.  With the dag combiner  
							
							 
							
							... 
							
							
							
							and legalizer separated like they currently are, I don't see a way to handle
this xform.
llvm-svn: 32466 
							
						 
						
							2006-12-12 04:18:56 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								3c49edcaa1 
								
							 
						 
						
							
							
								
								Change inferred cast creation calls to more specific cast creations.  
							
							 
							
							... 
							
							
							
							llvm-svn: 32460 
							
						 
						
							2006-12-12 01:17:41 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								3432ab97c1 
								
							 
						 
						
							
							
								
								Re-apply changes that were backed out and fix a naughty typo.  
							
							 
							
							... 
							
							
							
							llvm-svn: 32442 
							
						 
						
							2006-12-11 19:27:14 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e9a203c4e5 
								
							 
						 
						
							
							
								
								Revert changes that broke oggenc on ppc  
							
							 
							
							... 
							
							
							
							llvm-svn: 32440 
							
						 
						
							2006-12-11 18:53:38 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								f4bec95b58 
								
							 
						 
						
							
							
								
								f32 / f64 node is expanded to one i32 / i64 node.  
							
							 
							
							... 
							
							
							
							llvm-svn: 32433 
							
						 
						
							2006-12-11 06:50:04 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								f6b01fdb48 
								
							 
						 
						
							
							
								
								Clean up some bad code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 32432 
							
						 
						
							2006-12-11 06:25:26 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								8e20c760fa 
								
							 
						 
						
							
							
								
								Move something that should be in the dag combiner from the legalizer to the  
							
							 
							
							... 
							
							
							
							dag combiner.
llvm-svn: 32431 
							
						 
						
							2006-12-11 02:23:46 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								4eee72471c 
								
							 
						 
						
							
							
								
								Preliminary soft float support.  
							
							 
							
							... 
							
							
							
							llvm-svn: 32394 
							
						 
						
							2006-12-09 02:42:38 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								22e978a736 
								
							 
						 
						
							
							
								
								Removing even more <iostream> includes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 32320 
							
						 
						
							2006-12-07 20:04:42 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								a743fada65 
								
							 
						 
						
							
							
								
								Avoid inifinite looping if READCYCLECOUNTER isn't custom lowered.  
							
							 
							
							... 
							
							
							
							llvm-svn: 32022 
							
						 
						
							2006-11-29 19:13:47 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								6973993e9c 
								
							 
						 
						
							
							
								
								Allow target to custom lower READCYCLECOUNTER (when it doesn't have to be expanded).  
							
							 
							
							... 
							
							
							
							llvm-svn: 32016 
							
						 
						
							2006-11-29 08:26:18 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3abb63651b 
								
							 
						 
						
							
							
								
								Fix PR1016  
							
							 
							
							... 
							
							
							
							llvm-svn: 31950 
							
						 
						
							2006-11-28 01:03:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								db18938355 
								
							 
						 
						
							
							
								
								If a brcond condition is promoted, make sure to zero extend it, even if not  
							
							 
							
							... 
							
							
							
							expanded into BR_CC.
llvm-svn: 31932 
							
						 
						
							2006-11-27 04:39:56 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								94c231f453 
								
							 
						 
						
							
							
								
								Fix PR988 and CodeGen/Generic/2006-11-06-MemIntrinsicExpand.ll.  
							
							 
							
							... 
							
							
							
							The low part goes in the first operand of expandop, not the second one.
llvm-svn: 31487 
							
						 
						
							2006-11-07 04:11:44 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								de46e48420 
								
							 
						 
						
							
							
								
								For PR786:  
							
							 
							
							... 
							
							
							
							Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
fall out by removing unused variables. Remaining warnings have to do with
unused functions (I didn't want to delete code without review) and unused
variables in generated code. Maintainers should clean up the remaining
issues when they see them. All changes pass DejaGnu tests and Olden.
llvm-svn: 31380 
							
						 
						
							2006-11-02 20:25:50 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								e6d584765f 
								
							 
						 
						
							
							
								
								Fix a typo which can break jumptables.  
							
							 
							
							... 
							
							
							
							llvm-svn: 31305 
							
						 
						
							2006-10-31 02:31:00 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								84a28d4e76 
								
							 
						 
						
							
							
								
								Lower jumptable to BR_JT. The legalizer can lower it to a BRIND or let the target custom lower it.  
							
							 
							
							... 
							
							
							
							llvm-svn: 31293 
							
						 
						
							2006-10-30 08:00:44 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								e0fc4dfc22 
								
							 
						 
						
							
							
								
								For PR950:  
							
							 
							
							... 
							
							
							
							This patch implements the first increment for the Signless Types feature.
All changes pertain to removing the ConstantSInt and ConstantUInt classes
in favor of just using ConstantInt.
llvm-svn: 31063 
							
						 
						
							2006-10-20 07:07:24 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								ab51cf2e78 
								
							 
						 
						
							
							
								
								Merge ISD::TRUNCSTORE to ISD::STORE. Switch to using StoreSDNode.  
							
							 
							
							... 
							
							
							
							llvm-svn: 30945 
							
						 
						
							2006-10-13 21:14:26 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Laskey
							
						 
						
							 
							
							
							
							
								
							
							
								6a4c6d3a7a 
								
							 
						 
						
							
							
								
								Typo  
							
							 
							
							... 
							
							
							
							llvm-svn: 30884 
							
						 
						
							2006-10-11 17:52:19 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								d35734bd1f 
								
							 
						 
						
							
							
								
								Naming consistency.  
							
							 
							
							... 
							
							
							
							llvm-svn: 30878 
							
						 
						
							2006-10-11 07:10:22 +00:00  
						
					 
				
					
						
							
							
								 
								Andrew Lenharth
							
						 
						
							 
							
							
							
							
								
							
							
								a6bbf33cbf 
								
							 
						 
						
							
							
								
								Jimptables working again on alpha.  
							
							 
							
							... 
							
							
							
							As a bonus, use the GOT node instead of the AlphaISD::GOT for internal stuff.
llvm-svn: 30873 
							
						 
						
							2006-10-11 04:29:42 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8438429c96 
								
							 
						 
						
							
							
								
								Fix another bug in extload promotion.  
							
							 
							
							... 
							
							
							
							llvm-svn: 30857 
							
						 
						
							2006-10-10 18:54:19 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								dc6a3aab71 
								
							 
						 
						
							
							
								
								Fix a bug introduced by my LOAD/LOADX changes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 30853 
							
						 
						
							2006-10-10 07:51:21 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								e71fe34d75 
								
							 
						 
						
							
							
								
								Reflects ISD::LOAD / ISD::LOADX / LoadSDNode changes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 30844 
							
						 
						
							2006-10-09 20:57:25 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f9f90bc239 
								
							 
						 
						
							
							
								
								Fix a bug legalizing zero-extending i64 loads into 32-bit loads.  The bottom  
							
							 
							
							... 
							
							
							
							part was always forced to be sextload, even when we needed an zextload.
llvm-svn: 30782 
							
						 
						
							2006-10-07 00:58:36 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f5839a0816 
								
							 
						 
						
							
							
								
								Fix a miscompilation of:  
							
							 
							
							... 
							
							
							
							long long foo(long long X) {
  return (long long)(signed char)(int)X;
}
Instead of:
_foo:
        extsb r2, r4
        srawi r3, r4, 31
        mr r4, r2
        blr
we now produce:
_foo:
        extsb r4, r4
        srawi r3, r4, 31
        blr
This fixes a miscompilation in ConstantFolding.cpp.
llvm-svn: 30768 
							
						 
						
							2006-10-06 17:34:12 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								df9ac47e5e 
								
							 
						 
						
							
							
								
								Make use of getStore().  
							
							 
							
							... 
							
							
							
							llvm-svn: 30759 
							
						 
						
							2006-10-05 23:01:46 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								5d9fd977d3 
								
							 
						 
						
							
							
								
								Combine ISD::EXTLOAD, ISD::SEXTLOAD, ISD::ZEXTLOAD into ISD::LOADX. Add an  
							
							 
							
							... 
							
							
							
							extra operand to LOADX to specify the exact value extension type.
llvm-svn: 30714 
							
						 
						
							2006-10-04 00:56:09 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								91d76cb27f 
								
							 
						 
						
							
							
								
								Fix an obvious typo.  
							
							 
							
							... 
							
							
							
							llvm-svn: 30711 
							
						 
						
							2006-10-03 23:08:27 +00:00  
						
					 
				
					
						
							
							
								 
								Andrew Lenharth
							
						 
						
							 
							
							
							
							
								
							
							
								783a4a9d86 
								
							 
						 
						
							
							
								
								Add support for other relocation bases to jump tables, as well as custom asm directives  
							
							 
							
							... 
							
							
							
							llvm-svn: 30593 
							
						 
						
							2006-09-24 19:45:58 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								875ea0cdbd 
								
							 
						 
						
							
							
								
								Expand 64-bit shifts more optimally if we know that the high bit of the  
							
							 
							
							... 
							
							
							
							shift amount is one or zero.  For example, for:
long long foo1(long long X, int C) {
  return X << (C|32);
}
long long foo2(long long X, int C) {
  return X << (C&~32);
}
we get:
_foo1:
        movb $31, %cl
        movl 4(%esp), %edx
        andb 12(%esp), %cl
        shll %cl, %edx
        xorl %eax, %eax
        ret
_foo2:
        movb $223, %cl
        movl 4(%esp), %eax
        movl 8(%esp), %edx
        andb 12(%esp), %cl
        shldl %cl, %eax, %edx
        shll %cl, %eax
        ret
instead of:
_foo1:
        subl $4, %esp
        movl %ebx, (%esp)
        movb $32, %bl
        movl 8(%esp), %eax
        movl 12(%esp), %edx
        movb %bl, %cl
        orb 16(%esp), %cl
        shldl %cl, %eax, %edx
        shll %cl, %eax
        xorl %ecx, %ecx
        testb %bl, %bl
        cmovne %eax, %edx
        cmovne %ecx, %eax
        movl (%esp), %ebx
        addl $4, %esp
        ret
_foo2:
        subl $4, %esp
        movl %ebx, (%esp)
        movb $223, %cl
        movl 8(%esp), %eax
        movl 12(%esp), %edx
        andb 16(%esp), %cl
        shldl %cl, %eax, %edx
        shll %cl, %eax
        xorl %ecx, %ecx
        xorb %bl, %bl
        testb %bl, %bl
        cmovne %eax, %edx
        cmovne %ecx, %eax
        movl (%esp), %ebx
        addl $4, %esp
        ret
llvm-svn: 30506 
							
						 
						
							2006-09-20 03:38:48 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								1fc7c363e6 
								
							 
						 
						
							
							
								
								Fix a typo.  
							
							 
							
							... 
							
							
							
							llvm-svn: 30474 
							
						 
						
							2006-09-18 23:28:33 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								4bfaf0bd2c 
								
							 
						 
						
							
							
								
								Allow  i32 UDIV, SDIV, UREM, SREM to be expanded into libcalls.  
							
							 
							
							... 
							
							
							
							llvm-svn: 30470 
							
						 
						
							2006-09-18 21:49:04 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e50f5d1fb1 
								
							 
						 
						
							
							
								
								Oh yeah, this is needed too  
							
							 
							
							... 
							
							
							
							llvm-svn: 30407 
							
						 
						
							2006-09-16 05:08:34 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1b63391fdf 
								
							 
						 
						
							
							
								
								simplify control flow, no functionality change  
							
							 
							
							... 
							
							
							
							llvm-svn: 30403 
							
						 
						
							2006-09-16 00:21:44 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								fbadbda6ba 
								
							 
						 
						
							
							
								
								Allow custom expand of mul  
							
							 
							
							... 
							
							
							
							llvm-svn: 30402 
							
						 
						
							2006-09-16 00:09:24 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								72b503bcad 
								
							 
						 
						
							
							
								
								Compile X << 1 (where X is a long-long) to:  
							
							 
							
							... 
							
							
							
							addl %ecx, %ecx
        adcl %eax, %eax
instead of:
        movl %ecx, %edx
        addl %edx, %edx
        shrl $31, %ecx
        addl %eax, %eax
        orl %ecx, %eax
and to:
        addc r5, r5, r5
        adde r4, r4, r4
instead of:
        slwi r2,r9,1
        srwi r0,r11,31
        slwi r3,r11,1
        or r2,r0,r2
on PPC.
llvm-svn: 30284 
							
						 
						
							2006-09-13 03:50:39 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f0359b343a 
								
							 
						 
						
							
							
								
								Implement the fpowi now by lowering to a libcall  
							
							 
							
							... 
							
							
							
							llvm-svn: 30225 
							
						 
						
							2006-09-09 06:03:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e4bbb6c341 
								
							 
						 
						
							
							
								
								Allow targets to custom lower expanded BIT_CONVERT's  
							
							 
							
							... 
							
							
							
							llvm-svn: 30217 
							
						 
						
							2006-09-09 00:20:27 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								e93762d36e 
								
							 
						 
						
							
							
								
								Allow legalizer to expand ISD::MUL using only MULHS in the rare case that is  
							
							 
							
							... 
							
							
							
							possible and the target only supports MULHS.
llvm-svn: 30022 
							
						 
						
							2006-09-01 18:17:58 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3d27be1333 
								
							 
						 
						
							
							
								
								s|llvm/Support/Visibility.h|llvm/Support/Compiler.h|  
							
							 
							
							... 
							
							
							
							llvm-svn: 29911 
							
						 
						
							2006-08-27 12:54:02 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								451b099113 
								
							 
						 
						
							
							
								
								Fix PR861  
							
							 
							
							... 
							
							
							
							llvm-svn: 29796 
							
						 
						
							2006-08-21 20:24:53 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								bd8877744b 
								
							 
						 
						
							
							
								
								eliminate use of getNode that takes vector of valuetypes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 29687 
							
						 
						
							2006-08-14 23:53:35 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c24a1d3093 
								
							 
						 
						
							
							
								
								Start eliminating temporary vectors used to create DAG nodes.  Instead, pass  
							
							 
							
							... 
							
							
							
							in the start of an array and a count of operands where applicable.  In many
cases, the number of operands is known, so this static array can be allocated
on the stack, avoiding the heap.  In many other cases, a SmallVector can be
used, which has the same benefit in the common cases.
I updated a lot of code calling getNode that takes a vector, but ran out of
time.  The rest of the code should be updated, and these methods should be
removed.
We should also do the same thing to eliminate the methods that take a
vector of MVT::ValueTypes.
It would be extra nice to convert the dagiselemitter to avoid creating vectors
for operands when calling getTargetNode.
llvm-svn: 29566 
							
						 
						
							2006-08-08 02:23:42 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								97af9d5d3a 
								
							 
						 
						
							
							
								
								Eliminate some malloc traffic by allocating vectors on the stack.  Change some  
							
							 
							
							... 
							
							
							
							method that took std::vector<SDOperand> to take a pointer to a first operand
and #operands.
This speeds up isel on kc++ by about 3%.
llvm-svn: 29561 
							
						 
						
							2006-08-08 01:09:31 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8927c875bb 
								
							 
						 
						
							
							
								
								Make SelectionDAG::RemoveDeadNodes iterative instead of recursive, which  
							
							 
							
							... 
							
							
							
							also make it simpler.
llvm-svn: 29524 
							
						 
						
							2006-08-04 17:45:20 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4488f0c303 
								
							 
						 
						
							
							
								
								Fix a case where LegalizeAllNodesNotLeadingTo could take exponential time.  
							
							 
							
							... 
							
							
							
							This manifested itself as really long time to compile
Regression/CodeGen/Generic/2003-05-28-ManyArgs.ll on ppc.
This is PR847.
llvm-svn: 29313 
							
						 
						
							2006-07-26 23:55:56 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Laskey
							
						 
						
							 
							
							
							
							
								
							
							
								c3d341ea98 
								
							 
						 
						
							
							
								
								Ensure that dump calls that are associated with asserts are removed from  
							
							 
							
							... 
							
							
							
							non-debug build.
llvm-svn: 29105 
							
						 
						
							2006-07-11 17:58:07 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1b8ea1f5ba 
								
							 
						 
						
							
							
								
								Fix CodeGen/Alpha/2006-07-03-ASMFormalLowering.ll and PR818.  
							
							 
							
							... 
							
							
							
							llvm-svn: 29099 
							
						 
						
							2006-07-11 01:40:09 +00:00