26a484852e 
								
							 
						 
						
							
							
								
								Code generation for 'fence' instruction.  
							
							... 
							
							
							
							llvm-svn: 136283 
							
						 
						
							2011-07-27 22:21:52 +00:00  
				
					
						
							
							
								 
						
							
								229907cd11 
								
							 
						 
						
							
							
								
								land David Blaikie's patch to de-constify Type, with a few tweaks.  
							
							... 
							
							
							
							llvm-svn: 135375 
							
						 
						
							2011-07-18 04:54:35 +00:00  
				
					
						
							
							
								 
						
							
								f03fa189ca 
								
							 
						 
						
							
							
								
								Add an intrinsic and codegen support for fused multiply-accumulate. The intent  
							
							... 
							
							
							
							is to use this for architectures that have a native FMA instruction.
llvm-svn: 134742 
							
						 
						
							2011-07-08 21:39:21 +00:00  
				
					
						
							
							
								 
						
							
								ff740621f1 
								
							 
						 
						
							
							
								
								Remove getRegClassForInlineAsmConstraint from sparc.  
							
							... 
							
							
							
							Part of rdar://9643582
llvm-svn: 134083 
							
						 
						
							2011-06-29 18:53:10 +00:00  
				
					
						
							
							
								 
						
							
								0713a9d8fc 
								
							 
						 
						
							
							
								
								Add a parameter to CCState so that it can access the MachineFunction.  
							
							... 
							
							
							
							No functional change.
Part of PR6965
llvm-svn: 132763 
							
						 
						
							2011-06-08 23:55:35 +00:00  
				
					
						
							
							
								 
						
							
								2518f8376d 
								
							 
						 
						
							
							
								
								Make the logic for determining function alignment more explicit.  No functionality change.  
							
							... 
							
							
							
							llvm-svn: 131012 
							
						 
						
							2011-05-06 20:34:06 +00:00  
				
					
						
							
							
								 
						
							
								9c373c1c7a 
								
							 
						 
						
							
							
								
								Remove unused variables caught by GCC's -Wunused-but-set-variable.  
							
							... 
							
							
							
							llvm-svn: 130755 
							
						 
						
							2011-05-03 16:00:27 +00:00  
				
					
						
							
							
								 
						
							
								0ab5e2cded 
								
							 
						 
						
							
							
								
								Fix a ton of comment typos found by codespell.  Patch by  
							
							... 
							
							
							
							Luis Felipe Strano Moraes!
llvm-svn: 129558 
							
						 
						
							2011-04-15 05:18:47 +00:00  
				
					
						
							
							
								 
						
							
								f3292b2196 
								
							 
						 
						
							
							
								
								Revert r124611 - "Keep track of incoming argument's location while emitting LiveIns."  
							
							... 
							
							
							
							In other words, do not keep track of argument's location.  The debugger (gdb) is not prepared to see line table entries for arguments. For the debugger, "second" line table entry marks beginning of function body.
This requires some coordination with debugger to get this working. 
 - The debugger needs to be aware of prolog_end attribute attached with line table entries.
 - The compiler needs to accurately mark prolog_end in line table entries (at -O0 and at -O1+)
llvm-svn: 126155 
							
						 
						
							2011-02-21 23:21:26 +00:00  
				
					
						
							
							
								 
						
							
								a82203f875 
								
							 
						 
						
							
							
								
								Generate correct Sparc32 ABI compliant code for functions that return a struct.  
							
							... 
							
							
							
							llvm-svn: 126108 
							
						 
						
							2011-02-21 03:42:44 +00:00  
				
					
						
							
							
								 
						
							
								81c4306005 
								
							 
						 
						
							
							
								
								Swap VT and DebugLoc operands of getExtLoad() for consistency with  
							
							... 
							
							
							
							other getNode() methods.  Radar 9002173.
llvm-svn: 125665 
							
						 
						
							2011-02-16 16:23:55 +00:00  
				
					
						
							
							
								 
						
							
								56cc5fdf09 
								
							 
						 
						
							
							
								
								Keep track of incoming argument's location while emitting LiveIns.  
							
							... 
							
							
							
							llvm-svn: 124611 
							
						 
						
							2011-01-31 21:38:14 +00:00  
				
					
						
							
							
								 
						
							
								cc91b7a3f6 
								
							 
						 
						
							
							
								
								Pass sret arguments through the stack instead of through registers in Sparc backend. It makes the code generated more compliant with the sparc32 ABI.  
							
							... 
							
							
							
							llvm-svn: 124030 
							
						 
						
							2011-01-22 13:05:16 +00:00  
				
					
						
							
							
								 
						
							
								ef8cf45eb1 
								
							 
						 
						
							
							
								
								Sparc backend:  
							
							... 
							
							
							
							Rename FLUSH to FLUSHW.
 Output "ta 3" instead of a "flushw" instruction if v8 instruction set is used.
llvm-svn: 123997 
							
						 
						
							2011-01-21 22:00:00 +00:00  
				
					
						
							
							
								 
						
							
								0594789f07 
								
							 
						 
						
							
							
								
								Implement support for byval arguments in Sparc backend.  
							
							... 
							
							
							
							llvm-svn: 123974 
							
						 
						
							2011-01-21 14:00:01 +00:00  
				
					
						
							
							
								 
						
							
								c386f8a1f6 
								
							 
						 
						
							
							
								
								SPARC backend: Modified LowerCall and LowerFormalArguments so that they use CallingConv assignments.  
							
							... 
							
							
							
							llvm-svn: 123749 
							
						 
						
							2011-01-18 06:09:55 +00:00  
				
					
						
							
							
								 
						
							
								d964580fea 
								
							 
						 
						
							
							
								
								Implement RETURNADDR and FRAMEADDR lowering in SPARC backend.  
							
							... 
							
							
							
							llvm-svn: 123310 
							
						 
						
							2011-01-12 05:08:36 +00:00  
				
					
						
							
							
								 
						
							
								3b71b0ae3d 
								
							 
						 
						
							
							
								
								Fix SPARC backend call instruction so that arguments passed through registers  
							
							... 
							
							
							
							are correctly marked as used instead of passing all possible argument registers
as used.  
llvm-svn: 123301 
							
						 
						
							2011-01-12 03:18:21 +00:00  
				
					
						
							
							
								 
						
							
								0a09160e51 
								
							 
						 
						
							
							
								
								SPARC backend fix: correctly passing arguments through stack  
							
							... 
							
							
							
							llvm-svn: 122626 
							
						 
						
							2010-12-29 05:37:15 +00:00  
				
					
						
							
							
								 
						
							
								2f15503d5a 
								
							 
						 
						
							
							
								
								Multiple SPARC backend fixes: added Y register; updated select_cc, subx, subxcc defs/uses;  
							
							... 
							
							
							
							and fixed CustomInserter.
llvm-svn: 122607 
							
						 
						
							2010-12-28 20:39:17 +00:00  
				
					
						
							
							
								 
						
							
								3e5fbd74ed 
								
							 
						 
						
							
							
								
								rename MVT::Flag to MVT::Glue.  "Flag" is a terrible name for  
							
							... 
							
							
							
							something that just glues two nodes together, even if it is
sometimes used for flags.
llvm-svn: 122310 
							
						 
						
							2010-12-21 02:38:05 +00:00  
				
					
						
							
							
								 
						
							
								527da1b6e2 
								
							 
						 
						
							
							
								
								Renaming ISD::BIT_CONVERT to ISD::BITCAST to better reflect the LLVM IR concept.  
							
							... 
							
							
							
							llvm-svn: 119990 
							
						 
						
							2010-11-23 03:31:01 +00:00  
				
					
						
							
							
								 
						
							
								f5dda01f33 
								
							 
						 
						
							
							
								
								Inside the calling convention logic LocVT is always a simple  
							
							... 
							
							
							
							value type, so there is no point in passing it around using
an EVT.  Use the simpler MVT everywhere.  Rather than trying
to propagate this information maximally in all the code that
using the calling convention stuff, I chose to do a mainly
low impact change instead.
llvm-svn: 118167 
							
						 
						
							2010-11-03 11:35:31 +00:00  
				
					
						
							
							
								 
						
							
								676c61db0e 
								
							 
						 
						
							
							
								
								update a bunch of code to use the MachinePointerInfo version of getStore.  
							
							... 
							
							
							
							llvm-svn: 114461 
							
						 
						
							2010-09-21 18:41:36 +00:00  
				
					
						
							
							
								 
						
							
								3d178ed4d4 
								
							 
						 
						
							
							
								
								propagate MachinePointerInfo through various uses of the old  
							
							... 
							
							
							
							SelectionDAG::getExtLoad overload, and eliminate it.
llvm-svn: 114446 
							
						 
						
							2010-09-21 17:04:51 +00:00  
				
					
						
							
							
								 
						
							
								7727d05dbb 
								
							 
						 
						
							
							
								
								convert the targets off the non-MachinePointerInfo of getLoad.  
							
							... 
							
							
							
							llvm-svn: 114410 
							
						 
						
							2010-09-21 06:44:06 +00:00  
				
					
						
							
							
								 
						
							
								1c349f18f8 
								
							 
						 
						
							
							
								
								Move getExtLoad() and (some) getLoad() DebugLoc argument after EVT argument for consistency sake.  
							
							... 
							
							
							
							llvm-svn: 107820 
							
						 
						
							2010-07-07 22:15:37 +00:00  
				
					
						
							
							
								 
						
							
								fe7532a308 
								
							 
						 
						
							
							
								
								Split the SDValue out of OutputArg so that SelectionDAG-independent  
							
							... 
							
							
							
							code can do calling-convention queries. This obviates OutputArgReg.
llvm-svn: 107786 
							
						 
						
							2010-07-07 15:54:55 +00:00  
				
					
						
							
							
								 
						
							
								a3ca21b228 
								
							 
						 
						
							
							
								
								Propagate debug loc.  
							
							... 
							
							
							
							llvm-svn: 107710 
							
						 
						
							2010-07-06 22:08:15 +00:00  
				
					
						
							
							
								 
						
							
								3439629239 
								
							 
						 
						
							
							
								
								Reapply r107655 with fixes; insert the pseudo instruction into  
							
							... 
							
							
							
							the block before calling the expansion hook. And don't
put EFLAGS in a mbb's live-in list twice.
llvm-svn: 107691 
							
						 
						
							2010-07-06 20:24:04 +00:00  
				
					
						
							
							
								 
						
							
								f4f04107ef 
								
							 
						 
						
							
							
								
								Revert r107655.  
							
							... 
							
							
							
							llvm-svn: 107668 
							
						 
						
							2010-07-06 15:49:48 +00:00  
				
					
						
							
							
								 
						
							
								12205645a6 
								
							 
						 
						
							
							
								
								Fix a bunch of custom-inserter functions to handle the case where  
							
							... 
							
							
							
							the pseudo instruction is not at the end of the block.
llvm-svn: 107655 
							
						 
						
							2010-07-06 15:18:19 +00:00  
				
					
						
							
							
								 
						
							
								0664a67fe1 
								
							 
						 
						
							
							
								
								Remove isSS argument from CreateFixedObject. Fixed objects cannot be spill slots so it's always false.  
							
							... 
							
							
							
							llvm-svn: 107550 
							
						 
						
							2010-07-03 00:40:23 +00:00  
				
					
						
							
							
								 
						
							
								f1d8304fe3 
								
							 
						 
						
							
							
								
								Eliminate unnecessary uses of getZExtValue().  
							
							... 
							
							
							
							llvm-svn: 106279 
							
						 
						
							2010-06-18 14:22:04 +00:00  
				
					
						
							
							
								 
						
							
								25c1653700 
								
							 
						 
						
							
							
								
								Get rid of the EdgeMapping map. Instead, just check for BasicBlock  
							
							... 
							
							
							
							changes before doing phi lowering for switches.
llvm-svn: 102809 
							
						 
						
							2010-05-01 00:01:06 +00:00  
				
					
						
							
							
								 
						
							
								21cea8ac2e 
								
							 
						 
						
							
							
								
								Use const qualifiers with TargetLowering. This eliminates several  
							
							... 
							
							
							
							const_casts, and it reinforces the design of the Target classes being
immutable.
SelectionDAGISel::IsLegalToFold is now a static member function, because
PIC16 uses it in an unconventional way. There is more room for API
cleanup here.
And PIC16's AsmPrinter no longer uses TargetLowering.
llvm-svn: 101635 
							
						 
						
							2010-04-17 15:26:15 +00:00  
				
					
						
							
							
								 
						
							
								31ae586c74 
								
							 
						 
						
							
							
								
								Move per-function state out of TargetLowering subclasses and into  
							
							... 
							
							
							
							MachineFunctionInfo subclasses.
llvm-svn: 101634 
							
						 
						
							2010-04-17 14:41:14 +00:00  
				
					
						
							
							
								 
						
							
								bcaf681cde 
								
							 
						 
						
							
							
								
								Add const qualifiers to CodeGen's use of LLVM IR constructs.  
							
							... 
							
							
							
							llvm-svn: 101334 
							
						 
						
							2010-04-15 01:51:59 +00:00  
				
					
						
							
							
								 
						
							
								ab663a0bfe 
								
							 
						 
						
							
							
								
								Move TLOF implementations to libCodegen to resolve layering violation.  
							
							... 
							
							
							
							llvm-svn: 96288 
							
						 
						
							2010-02-15 22:37:53 +00:00  
				
					
						
							
							
								 
						
							
								772fc34209 
								
							 
						 
						
							
							
								
								Remove an assumption of default arguments.  This is in anticipation of a  
							
							... 
							
							
							
							change to SelectionDAG build APIs.
llvm-svn: 96237 
							
						 
						
							2010-02-15 16:57:02 +00:00  
				
					
						
							
							
								 
						
							
								6f36a083ef 
								
							 
						 
						
							
							
								
								Revert 95130.  
							
							... 
							
							
							
							llvm-svn: 95160 
							
						 
						
							2010-02-02 23:55:14 +00:00  
				
					
						
							
							
								 
						
							
								c1b0116ff1 
								
							 
						 
						
							
							
								
								Pass callsite return type to TargetLowering::LowerCall and use that to check sibcall eligibility.  
							
							... 
							
							
							
							llvm-svn: 95130 
							
						 
						
							2010-02-02 21:29:10 +00:00  
				
					
						
							
							
								 
						
							
								67a69dd2ed 
								
							 
						 
						
							
							
								
								Eliminate target hook IsEligibleForTailCallOptimization.  
							
							... 
							
							
							
							Target independent isel should always pass along the "tail call" property. Change
target hook LowerCall's parameter "isTailCall" into a refernce. If the target
decides it's impossible to honor the tail call request, it should set isTailCall
to false to make target independent isel happy.
llvm-svn: 94626 
							
						 
						
							2010-01-27 00:07:07 +00:00  
				
					
						
							
							
								 
						
							
								de5dea869f 
								
							 
						 
						
							
							
								
								Remove ISD::DEBUG_LOC and ISD::DBG_LABEL, which are no longer used.  
							
							... 
							
							
							
							Note that "hasDotLocAndDotFile"-style debug info was already broken;
people wanting this functionality should implement it in the
AsmPrinter/DwarfWriter code.
llvm-svn: 89711 
							
						 
						
							2009-11-23 23:20:51 +00:00  
				
					
						
							
							
								 
						
							
								ed85e12da6 
								
							 
						 
						
							
							
								
								We are not using DBG_STOPPOINT anymore.  
							
							... 
							
							
							
							llvm-svn: 89536 
							
						 
						
							2009-11-21 02:46:55 +00:00  
				
					
						
							
							
								 
						
							
								1fbe054450 
								
							 
						 
						
							
							
								
								Add a bool flag to StackObjects telling whether they reference spill  
							
							... 
							
							
							
							slots.  The AsmPrinter will use this information to determine whether to
print a spill/reload comment.
Remove default argument values.  It's too easy to pass a wrong argument
value when multiple arguments have default values.  Make everything
explicit to trap bugs early.
Update all targets to adhere to the new interfaces..
llvm-svn: 87022 
							
						 
						
							2009-11-12 20:49:22 +00:00  
				
					
						
							
							
								 
						
							
								9827ad39a7 
								
							 
						 
						
							
							
								
								Fix PR4926. When target hook EmitInstrWithCustomInserter() insert new basic blocks and update CFG, it should also inform sdisel of the changes so the phi source operands will come from the right basic blocks.  
							
							... 
							
							
							
							llvm-svn: 82311 
							
						 
						
							2009-09-19 09:51:03 +00:00  
				
					
						
							
							
								 
						
							
								270d0f986f 
								
							 
						 
						
							
							
								
								Enhance EmitInstrWithCustomInserter() so target can specify CFG changes that sdisel will use to properly complete phi nodes.  
							
							... 
							
							
							
							Not functionality change yet.
llvm-svn: 82273 
							
						 
						
							2009-09-18 21:02:19 +00:00  
				
					
						
							
							
								 
						
							
								840c700654 
								
							 
						 
						
							
							
								
								several major improvements to the sparc backend: support for weak linkage  
							
							... 
							
							
							
							and PIC codegen.  Patch by Venkatraman Govindaraju!
llvm-svn: 81877 
							
						 
						
							2009-09-15 17:46:24 +00:00  
				
					
						
							
							
								 
						
							
								68c5f477fa 
								
							 
						 
						
							
							
								
								Retype from unsigned to CallingConv::ID accordingly. Approved by Bob Wilson.  
							
							... 
							
							
							
							llvm-svn: 80773 
							
						 
						
							2009-09-02 08:44:58 +00:00