Owen Anderson 
							
						 
					 
					
						
						
							
						
						95771afbfd 
					 
					
						
						
							
							Allow targets to specify a the type of the RHS of a shift parameterized on the type of the LHS.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126518  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-02-25 21:41:48 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						16c29b5f28 
					 
					
						
						
							
							Rename TargetFrameInfo into TargetFrameLowering. Also, put couple of FIXMEs and fixes here and there.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123170  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-10 12:39:04 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f1b4eafbfe 
					 
					
						
						
							
							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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122310  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-21 02:38:05 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Wesley Peck 
							
						 
					 
					
						
						
							
						
						bf17cfa3f9 
					 
					
						
						
							
							Renaming ISD::BIT_CONVERT to ISD::BITCAST to better reflect the LLVM IR concept.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119990  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-23 03:31:01 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						d0c3817669 
					 
					
						
						
							
							Move hasFP() and few related hooks to TargetFrameInfo.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119740  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-11-18 21:19:35 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6229d0acb8 
					 
					
						
						
							
							update a bunch of code to use the MachinePointerInfo version of getStore.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114461  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-21 18:41:36 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d1c24ed81c 
					 
					
						
						
							
							convert the targets off the non-MachinePointerInfo of getLoad.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114410  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-21 06:44:06 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						c9403659a9 
					 
					
						
						
							
							Split the SDValue out of OutputArg so that SelectionDAG-independent  
						
						 
						
						... 
						
						
						
						code can do calling-convention queries. This obviates OutputArgReg.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107786  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-07 15:54:55 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Devang Patel 
							
						 
					 
					
						
						
							
						
						0d881dabc1 
					 
					
						
						
							
							Propagate debug loc.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107710  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-06 22:08:15 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						14152b480d 
					 
					
						
						
							
							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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107691  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-06 20:24:04 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						258c58cc62 
					 
					
						
						
							
							Revert r107655.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107668  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-06 15:49:48 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						b81c771c0d 
					 
					
						
						
							
							Fix a bunch of custom-inserter functions to handle the case where  
						
						 
						
						... 
						
						
						
						the pseudo instruction is not at the end of the block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107655  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-06 15:18:19 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						ed2ae136d2 
					 
					
						
						
							
							Remove isSS argument from CreateFixedObject. Fixed objects cannot be spill slots so it's always false.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107550  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-03 00:40:23 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						211ffa1351 
					 
					
						
						
							
							Code refactoring: pull SchedPreference enum from TargetLowering.h to TargetMachine.h and put it in its own namespace.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104147  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-19 20:19:50 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						af1d8ca44a 
					 
					
						
						
							
							Get rid of the EdgeMapping map. Instead, just check for BasicBlock  
						
						 
						
						... 
						
						
						
						changes before doing phi lowering for switches.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102809  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-01 00:01:06 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						d858e90f03 
					 
					
						
						
							
							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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101635  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-17 15:26:15 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						46510a73e9 
					 
					
						
						
							
							Add const qualifiers to CodeGen's use of LLVM IR constructs.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101334  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-15 01:51:59 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						75361b69f3 
					 
					
						
						
							
							rename llvm::llvm_report_error -> llvm::report_fatal_error  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100709  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-07 22:58:41 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						362dd0bef5 
					 
					
						
						
							
							Move TLOF implementations to libCodegen to resolve layering violation.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96288  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-15 22:37:53 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Greene 
							
						 
					 
					
						
						
							
						
						7720155bec 
					 
					
						
						
							
							Remove an assumption of default arguments.  This is in anticipation of a  
						
						 
						
						... 
						
						
						
						change to SelectionDAG build APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96238  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-15 16:57:13 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						022d9e1cef 
					 
					
						
						
							
							Revert 95130.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95160  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-02 23:55:14 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						942619695f 
					 
					
						
						
							
							Pass callsite return type to TargetLowering::LowerCall and use that to check sibcall eligibility.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95130  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-02 21:29:10 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						0c439eb2c8 
					 
					
						
						
							
							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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94626  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-27 00:07:07 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Greene 
							
						 
					 
					
						
						
							
						
						3f2bf85d14 
					 
					
						
						
							
							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..
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87022  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-12 20:49:22 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8f9b0f6e88 
					 
					
						
						
							
							add some missing #includes  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86367  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-07 09:20:54 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						a1eaa3c52b 
					 
					
						
						
							
							Add a second ValueType argument to isFPImmLegal.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85361  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-28 01:43:28 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						aa123224c4 
					 
					
						
						
							
							Update SystemZ to use PSW following the way x86 uses EFLAGS. Besides  
						
						 
						
						... 
						
						
						
						eliminating a use of MVT::Flag, this is needed for an upcoming CodeGen
change.
This unfortunately requires SystemZ to switch to the list-burr
scheduler, in order to handle the physreg defs properly, however
that's what LLVM has available at this time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85357  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-28 00:55:57 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						eb2f969a4d 
					 
					
						
						
							
							Do away with addLegalFPImmediate. Add a target hook isFPImmLegal which returns true if the fp immediate can be natively codegened by target.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85281  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-27 19:56:55 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						6553155172 
					 
					
						
						
							
							Revert 84315 for now. Re-thinking the patch.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84321  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-17 07:53:04 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						bf125583f8 
					 
					
						
						
							
							Rename getFixedStack to getStackObject. The stack objects represented are not  
						
						 
						
						... 
						
						
						
						necessarily fixed. Only those will negative frame indices are "fixed."
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84315  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-17 06:22:26 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						ce31910eae 
					 
					
						
						
							
							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.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82311  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-19 09:51:03 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						fb2e752e41 
					 
					
						
						
							
							Enhance EmitInstrWithCustomInserter() so target can specify CFG changes that sdisel will use to properly complete phi nodes.  
						
						 
						
						... 
						
						
						
						Not functionality change yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82273  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-18 21:02:19 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Sandeep Patel 
							
						 
					 
					
						
						
							
						
						65c3c8f323 
					 
					
						
						
							
							Retype from unsigned to CallingConv::ID accordingly. Approved by Bob Wilson.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80773  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-09-02 08:44:58 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4437ae213d 
					 
					
						
						
							
							eliminate uses of cerr()  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79834  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-23 07:05:07 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						fc9489a4c6 
					 
					
						
						
							
							Expand few nodes until someone will be crazy enough to implement them natively :)  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79659  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-21 18:52:42 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						3c2734c82b 
					 
					
						
						
							
							Handle 'r' inline asm constraint  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79648  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-21 18:15:41 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						825b72b057 
					 
					
						
						
							
							Split EVT into MVT and EVT, the former representing _just_ a primitive type, while  
						
						 
						
						... 
						
						
						
						the latter is capable of representing either a primitive or an extended type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78713  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-11 20:47:22 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						e50ed30282 
					 
					
						
						
							
							Rename MVT to EVT, in preparation for splitting SimpleValueType out into its own struct type.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78610  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-10 22:56:29 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						98ca4f2a32 
					 
					
						
						
							
							Major calling convention code refactoring.  
						
						 
						
						... 
						
						
						
						Instead of awkwardly encoding calling-convention information with ISD::CALL,
ISD::FORMAL_ARGUMENTS, ISD::RET, and ISD::ARG_FLAGS nodes, TargetLowering
provides three virtual functions for targets to override:
LowerFormalArguments, LowerCall, and LowerRet, which replace the custom
lowering done on the special nodes. They provide the same information, but
in a more immediately usable format.
This also reworks much of the target-independent tail call logic. The
decision of whether or not to perform a tail call is now cleanly split
between target-independent portions, and the target dependent portion
in IsEligibleForTailCallOptimization.
This also synchronizes all in-tree targets, to help enable future
refactoring and feature work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78142  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-05 01:29:28 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f0144127b9 
					 
					
						
						
							
							Rip all of the global variable lowering logic out of TargetAsmInfo.  Since  
						
						 
						
						... 
						
						
						
						it is highly specific to the object file that will be generated in the end,
this introduces a new TargetLoweringObjectFile interface that is implemented
for each of ELF/MachO/COFF/Alpha/PIC16 and XCore.
Though still is still a brutal and ugly refactoring, this is a major step
towards goodness.
This patch also:
1. fixes a bunch of dangling pointer problems in the PIC16 backend.
2. disables the TargetLowering copy ctor which PIC16 was accidentally using.
3. gets us closer to xcore having its own crazy target section flags and
   pic16 not having to shadow sections with its own objects.
4. fixes wierdness where ELF targets would set CStringSection but not
   CStringSection_.  Factor the code better.
5. fixes some bugs in string lowering on ELF targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77294  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-28 03:13:23 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						e922c02019 
					 
					
						
						
							
							Get rid of the Pass+Context magic.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76702  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-22 00:24:57 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						e748285e1b 
					 
					
						
						
							
							Missed a piece of the commit to remove the shift flavor.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76635  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-21 20:15:24 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						6323a83e2c 
					 
					
						
						
							
							Expand frem  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76315  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-18 13:44:25 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						6d94eff354 
					 
					
						
						
							
							Turn abort() into unreachable  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76314  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-18 13:34:59 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						31e874490a 
					 
					
						
						
							
							Turn few asserts into errors / unreachable's  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76313  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-18 13:33:17 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						0cca06905b 
					 
					
						
						
							
							Provide expansion for ct* intrinsics  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76311  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-18 12:26:13 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						e37a37de77 
					 
					
						
						
							
							Expand sext_inreg for i1  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76310  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-18 12:20:36 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						7df8462038 
					 
					
						
						
							
							Unbreak  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76064  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-16 14:36:52 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						bb8a04806d 
					 
					
						
						
							
							Expand 32-bit bitconverts via memory  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76050  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-16 14:30:29 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Anton Korobeynikov 
							
						 
					 
					
						
						
							
						
						c1a1e4adb7 
					 
					
						
						
							
							i32 values are passed extended also on stack. Handle this in generic way  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76047  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-07-16 14:29:05 +00:00