Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								d432223163 
								
							 
						 
						
							
							
								
								Reapply r106422, splitting the code for materializing a value out of  
							
							 
							
							... 
							
							
							
							SelectionDAGBuilder::getValue into a helper function, with fixes to
use DenseMaps safely.
llvm-svn: 107371 
							
						 
						
							2010-07-01 01:59:43 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								9576645a84 
								
							 
						 
						
							
							
								
								Don't use operator[] here, because it's not desirable to insert a default  
							
							 
							
							... 
							
							
							
							value if the search fails.
llvm-svn: 107368 
							
						 
						
							2010-07-01 01:33:21 +00:00  
						
					 
				
					
						
							
							
								 
								Duncan Sands
							
						 
						
							 
							
							
							
							
								
							
							
								945a347478 
								
							 
						 
						
							
							
								
								Remove an unused variable.  The call to getRoot has side-effects, so  
							
							 
							
							... 
							
							
							
							this could break something (but doesn't seem to).
llvm-svn: 107295 
							
						 
						
							2010-06-30 17:22:28 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								f69acfe133 
								
							 
						 
						
							
							
								
								use ArgOperand API  
							
							 
							
							... 
							
							
							
							llvm-svn: 107279 
							
						 
						
							2010-06-30 12:55:46 +00:00  
						
					 
				
					
						
							
							
								 
								Duncan Sands
							
						 
						
							 
							
							
							
							
								
							
							
								6d28e73acc 
								
							 
						 
						
							
							
								
								Remove initialized but otherwise unused variables.  
							
							 
							
							... 
							
							
							
							llvm-svn: 107127 
							
						 
						
							2010-06-29 11:22:26 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								ce97d55ad9 
								
							 
						 
						
							
							
								
								The hasMemory argument is irrelevant to how the argument  
							
							 
							
							... 
							
							
							
							for an "i" constraint should get lowered; PR 6309.  While
this argument was passed around a lot, this is the only
place it was used, so it goes away from a lot of other
places.
llvm-svn: 106893 
							
						 
						
							2010-06-25 21:55:36 +00:00  
						
					 
				
					
						
							
							
								 
								Duncan Sands
							
						 
						
							 
							
							
							
							
								
							
							
								2dc70bea54 
								
							 
						 
						
							
							
								
								Remove variables which are assigned to but for which the value  
							
							 
							
							... 
							
							
							
							is not used.  Spotted by gcc-4.6.
llvm-svn: 106854 
							
						 
						
							2010-06-25 14:48:39 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								eba0be7dc9 
								
							 
						 
						
							
							
								
								use ArgOperand API  
							
							 
							
							... 
							
							
							
							llvm-svn: 106836 
							
						 
						
							2010-06-25 09:38:13 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								8a84cd57ae 
								
							 
						 
						
							
							
								
								Simplify this code; switch lowering shouldn't produce cases  
							
							 
							
							... 
							
							
							
							which trivially fold away.
llvm-svn: 106765 
							
						 
						
							2010-06-24 17:08:31 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								0695e09b09 
								
							 
						 
						
							
							
								
								Optimize the "bit test" code path for switch lowering in the  
							
							 
							
							... 
							
							
							
							case where the bit mask has exactly one bit.
llvm-svn: 106716 
							
						 
						
							2010-06-24 02:06:24 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								bbc29ea821 
								
							 
						 
						
							
							
								
								Revert r106422, which is breaking the non-fast-isel path.  
							
							 
							
							... 
							
							
							
							llvm-svn: 106423 
							
						 
						
							2010-06-21 16:02:28 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								f64fdd69d0 
								
							 
						 
						
							
							
								
								More changes for non-top-down fast-isel.  
							
							 
							
							... 
							
							
							
							Split the code for materializing a value out of
SelectionDAGBuilder::getValue into a helper function, so that it can
be used in other ways. Add a new getNonRegisterValue function which
uses it, for use in code which doesn't want a CopyFromReg even
when FuncMap.ValueMap already has an entry for it.
llvm-svn: 106422 
							
						 
						
							2010-06-21 15:13:54 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								f1d8304fe3 
								
							 
						 
						
							
							
								
								Eliminate unnecessary uses of getZExtValue().  
							
							 
							
							... 
							
							
							
							llvm-svn: 106279 
							
						 
						
							2010-06-18 14:22:04 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								b0c76394a3 
								
							 
						 
						
							
							
								
								Keep track of incoming debug value of unused argument.  
							
							 
							
							... 
							
							
							
							Radar 7927666.
llvm-svn: 105285 
							
						 
						
							2010-06-01 19:59:01 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								4db93c9700 
								
							 
						 
						
							
							
								
								Reorder some code in SelectionDAGBuilder.  
							
							 
							
							... 
							
							
							
							llvm-svn: 105105 
							
						 
						
							2010-05-29 17:53:24 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								d16aa541af 
								
							 
						 
						
							
							
								
								SelectionDAG shouldn't have a FunctionLoweringInfo member. RegsForValue  
							
							 
							
							... 
							
							
							
							shouldn't have a TargetLoweringInfo member. And FunctionLoweringInfo::set
doesn't needs its EnableFastISel argument.
llvm-svn: 105101 
							
						 
						
							2010-05-29 17:03:36 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								2140a74979 
								
							 
						 
						
							
							
								
								Eliminate the restriction that the array size in an alloca must be i32.  
							
							 
							
							... 
							
							
							
							This will help reduce the amount of casting required on 64-bit targets.
llvm-svn: 104911 
							
						 
						
							2010-05-28 01:14:11 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								c9f532dddc 
								
							 
						 
						
							
							
								
								back out 104862/104869. Can reuse stacksave after all. Very cool.  
							
							 
							
							... 
							
							
							
							llvm-svn: 104897 
							
						 
						
							2010-05-27 23:11:57 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								b68dfb45f5 
								
							 
						 
						
							
							
								
								hook ISD::STACKADDR to an intrinsic  
							
							 
							
							... 
							
							
							
							llvm-svn: 104869 
							
						 
						
							2010-05-27 18:52:11 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								c98892fdaa 
								
							 
						 
						
							
							
								
								Adjust eh.sjlj.setjmp to properly have a chain and to have an opcode entry in  
							
							 
							
							... 
							
							
							
							ISD::. No functional change.
llvm-svn: 104734 
							
						 
						
							2010-05-26 20:22:18 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Grosbach
							
						 
						
							 
							
							
							
							
								
							
							
								bd9485db63 
								
							 
						 
						
							
							
								
								Implement eh.sjlj.longjmp for ARM. Clean up the intrinsic a bit.  
							
							 
							
							... 
							
							
							
							Followups: docs patch for the builtin and eh.sjlj.setjmp cleanup to match
longjmp.
llvm-svn: 104419 
							
						 
						
							2010-05-22 01:06:18 +00:00  
						
					 
				
					
						
							
							
								 
								Duncan Sands
							
						 
						
							 
							
							
							
							
								
							
							
								6c5e4355bb 
								
							 
						 
						
							
							
								
								I got tired of VISIBILITY_HIDDEN colliding with the gcc enum.  Rename it  
							
							 
							
							... 
							
							
							
							to LLVM_LIBRARY_VISIBILITY and introduce LLVM_GLOBAL_VISIBILITY, which is
the opposite, for future use by dragonegg.
llvm-svn: 103495 
							
						 
						
							2010-05-11 20:16:09 +00:00  
						
					 
				
					
						
							
							
								 
								Douglas Gregor
							
						 
						
							 
							
							
							
							
								
							
							
								6739a89117 
								
							 
						 
						
							
							
								
								Fixes for Microsoft Visual Studio 2010, from Steven Watanabe!  
							
							 
							
							... 
							
							
							
							llvm-svn: 103457 
							
						 
						
							2010-05-11 06:17:44 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								2ae3397536 
								
							 
						 
						
							
							
								
								Verify variable directly.  
							
							 
							
							... 
							
							
							
							llvm-svn: 103305 
							
						 
						
							2010-05-07 22:04:20 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								92b21cad5d 
								
							 
						 
						
							
							
								
								Use getValue() for PHINodes when direct NodeMap access does not work.  
							
							 
							
							... 
							
							
							
							llvm-svn: 103126 
							
						 
						
							2010-05-05 22:29:00 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								63f31115cd 
								
							 
						 
						
							
							
								
								Don't pass SDValues by non-const reference unless they may be  
							
							 
							
							... 
							
							
							
							modified.
llvm-svn: 102816 
							
						 
						
							2010-05-01 00:33:16 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								5d059718c9 
								
							 
						 
						
							
							
								
								Reorgnaize more switch code lowering to clean up some tricky  
							
							 
							
							... 
							
							
							
							code, and to eliminate the need for the SelectionDAGBuilder
state to be live during CodeGenAndEmitDAG calls.
Call SDB->clear() before CodeGenAndEmitDAG calls instead of
before it, and move the CurDAG->clear() out of SelectionDAGBuilder,
which doesn't own the DAG, and into CodeGenAndEmitDAG.
llvm-svn: 102814 
							
						 
						
							2010-05-01 00:25:44 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								f0514717cd 
								
							 
						 
						
							
							
								
								Delete the EdgeMapping variable itself.  
							
							 
							
							... 
							
							
							
							llvm-svn: 102810 
							
						 
						
							2010-05-01 00:02:20 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								0395553e35 
								
							 
						 
						
							
							
								
								Refactor.  
							
							 
							
							... 
							
							
							
							llvm-svn: 102661 
							
						 
						
							2010-04-29 20:40:36 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								a46953d281 
								
							 
						 
						
							
							
								
								DO not push DBG_VALUE machine instructions for inlined fuction arguments in entry block.  
							
							 
							
							... 
							
							
							
							llvm-svn: 102653 
							
						 
						
							2010-04-29 18:50:36 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								923679f929 
								
							 
						 
						
							
							
								
								Re-enable 102565 with fixes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 102602 
							
						 
						
							2010-04-29 06:33:38 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								d65a1e782b 
								
							 
						 
						
							
							
								
								Temporarily disable my changes to unbreak the build.  
							
							 
							
							... 
							
							
							
							llvm-svn: 102590 
							
						 
						
							2010-04-29 03:34:19 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								5fb45a2b85 
								
							 
						 
						
							
							
								
								Do not generate duplicate dbg_value instructions for function arguments.  
							
							 
							
							... 
							
							
							
							llvm-svn: 102585 
							
						 
						
							2010-04-29 01:40:30 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								70a0145d7c 
								
							 
						 
						
							
							
								
								Avoid emitting a dbg_value machineinstr that's not going to be inserted into entry block.  
							
							 
							
							... 
							
							
							
							llvm-svn: 102581 
							
						 
						
							2010-04-29 01:23:55 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								f4336ebb2a 
								
							 
						 
						
							
							
								
								Check Reg against zero.  
							
							 
							
							... 
							
							
							
							llvm-svn: 102573 
							
						 
						
							2010-04-29 00:59:34 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								bb728e17d3 
								
							 
						 
						
							
							
								
								tidy up.  
							
							 
							
							... 
							
							
							
							llvm-svn: 102558 
							
						 
						
							2010-04-28 23:24:13 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								6e822459ed 
								
							 
						 
						
							
							
								
								Replace r102368 with code that's less fragile. This creates DBG_VALUE instructions for function arguments early and insert them after instruction selection is done.  
							
							 
							
							... 
							
							
							
							llvm-svn: 102554 
							
						 
						
							2010-04-28 23:08:54 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								1a0bbe25e3 
								
							 
						 
						
							
							
								
								Ignore DBG_VALUE instructions that points to undef values.  
							
							 
							
							... 
							
							
							
							llvm-svn: 102463 
							
						 
						
							2010-04-27 20:54:45 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								eb61a7d616 
								
							 
						 
						
							
							
								
								Revert a small part of 102372; this fixes at least one  
							
							 
							
							... 
							
							
							
							of the dbg testsuite regressions.  I don't think this is
really the right fix; this change exposed an existing problem
upstream somewhere.
llvm-svn: 102410 
							
						 
						
							2010-04-27 02:10:05 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								59a438560c 
								
							 
						 
						
							
							
								
								Remove crufty comments.  
							
							 
							
							... 
							
							
							
							llvm-svn: 102380 
							
						 
						
							2010-04-26 20:48:54 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								e098352ed1 
								
							 
						 
						
							
							
								
								Add DBG_VALUE handling for byval parameters; this  
							
							 
							
							... 
							
							
							
							produces a comment on targets that support it, but
the Dwarf writer is not hooked up yet.
llvm-svn: 102372 
							
						 
						
							2010-04-26 20:06:49 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								5b43aa0ddd 
								
							 
						 
						
							
							
								
								Sink SelectionDAGBuilder's HandlePHINodesInSuccessorBlocks down  
							
							 
							
							... 
							
							
							
							into SelectionDAGBuilder itself.
llvm-svn: 102128 
							
						 
						
							2010-04-22 20:55:53 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								c594eab10f 
								
							 
						 
						
							
							
								
								Move HandlePHINodesInSuccessorBlocks functions out of SelectionDAGISel  
							
							 
							
							... 
							
							
							
							and into SelectionDAGBuilder and FastISel.
llvm-svn: 102123 
							
						 
						
							2010-04-22 20:46:50 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								fd81254190 
								
							 
						 
						
							
							
								
								Move PHINodesToUpdate out of SelectionDAGBuilder and into  
							
							 
							
							... 
							
							
							
							FunctionLoweringInfo, as it isn't SelectionDAG-specific. This isn't
completely natural, as PHI node state is not per-function but rather
per-basic-block, however there's currently no other convenient
per-basic-block state to group it with.
llvm-svn: 102109 
							
						 
						
							2010-04-22 19:55:20 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								450aa64fc1 
								
							 
						 
						
							
							
								
								Move several SelectionDAG-independent utility functions out of the  
							
							 
							
							... 
							
							
							
							SelectionDAG directory and into a new Analysis.cpp file.
llvm-svn: 101975 
							
						 
						
							2010-04-21 01:22:34 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								950fe784be 
								
							 
						 
						
							
							
								
								Sink the CopyToExportRegsIfNeeded calls out of SelectionDAGISel  
							
							 
							
							... 
							
							
							
							into SelectionDAGBuilder. This avoids a separate pass over the
instructions, and has the side effect of providing debug location
information to the copy.
llvm-svn: 101906 
							
						 
						
							2010-04-20 15:03:56 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								f41ad478ca 
								
							 
						 
						
							
							
								
								Don't send PHI nodes down to SelectionDAGBuilder of FastISel, since  
							
							 
							
							... 
							
							
							
							they end up doing nothing.
llvm-svn: 101904 
							
						 
						
							2010-04-20 15:00:41 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								e450d7444d 
								
							 
						 
						
							
							
								
								Sink DebugLoc handling out of SelectionDAGISel into FastISel and  
							
							 
							
							... 
							
							
							
							SelectionDAGBuilder, where it doesn't have to be as complicated.
llvm-svn: 101848 
							
						 
						
							2010-04-20 00:48:35 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								7c0303a059 
								
							 
						 
						
							
							
								
								Eliminate the CurMBB member from SelectionDAGBuilder. For places that  
							
							 
							
							... 
							
							
							
							need it, just pass around the parent block of the current instruction
explicitly.
llvm-svn: 101822 
							
						 
						
							2010-04-19 22:41:47 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								c334960f16 
								
							 
						 
						
							
							
								
								Code that needs a TargetMachine should have access to one directly, rather  
							
							 
							
							... 
							
							
							
							than just getting one through a TargetLowering.
llvm-svn: 101802 
							
						 
						
							2010-04-19 19:05:59 +00:00