db2a5f09f1 
								
							 
						 
						
							
							
								
								If we want to emit things in enum order, use getInstructionsByEnumValue to  
							
							... 
							
							
							
							get the order, don't compute it ourselves.
Don't emit stuff like (14<<0), emit 14 instead.
Don't attempt to get target properties for builtin instructions.
llvm-svn: 25672 
							
						 
						
							2006-01-27 01:44:09 +00:00  
				
					
						
							
							
								 
						
							
								018da4f5ef 
								
							 
						 
						
							
							
								
								almost got the HP-UX tester up.. :)  
							
							... 
							
							
							
							llvm-svn: 25051 
							
						 
						
							2005-12-30 14:56:37 +00:00  
				
					
						
							
							
								 
						
							
								6bc0304c91 
								
							 
						 
						
							
							
								
								Teach tblgen about instruction operands that have multiple MachineInstr  
							
							... 
							
							
							
							operands, digging into them to find register values (used on X86).  Patch
by Evan Cheng!
llvm-svn: 24424 
							
						 
						
							2005-11-19 07:05:57 +00:00  
				
					
						
							
							
								 
						
							
								802748cd61 
								
							 
						 
						
							
							
								
								Allow itineraries to be passed through the Target Machine.  
							
							... 
							
							
							
							llvm-svn: 24139 
							
						 
						
							2005-11-01 20:06:59 +00:00  
				
					
						
							
							
								 
						
							
								9e1784d738 
								
							 
						 
						
							
							
								
								Keep VC++ happy.  
							
							... 
							
							
							
							llvm-svn: 24137 
							
						 
						
							2005-11-01 18:04:06 +00:00  
				
					
						
							
							
								 
						
							
								0433df136f 
								
							 
						 
						
							
							
								
								Emit itinerary class in instruction info.  
							
							... 
							
							
							
							llvm-svn: 24122 
							
						 
						
							2005-10-31 17:16:46 +00:00  
				
					
						
							
							
								 
						
							
								742606ad30 
								
							 
						 
						
							
							
								
								Switch more code over to using getValueAsListOfDefs.  Look at all the -'s. :)  
							
							... 
							
							
							
							llvm-svn: 24074 
							
						 
						
							2005-10-28 22:59:53 +00:00  
				
					
						
							
							
								 
						
							
								63dc7f569a 
								
							 
						 
						
							
							
								
								spell this variable right  
							
							... 
							
							
							
							llvm-svn: 23095 
							
						 
						
							2005-08-26 20:42:52 +00:00  
				
					
						
							
							
								 
						
							
								3d9fbefbf7 
								
							 
						 
						
							
							
								
								Expose a new flag to TargetInstrInfo  
							
							... 
							
							
							
							llvm-svn: 23094 
							
						 
						
							2005-08-26 20:40:46 +00:00  
				
					
						
							
							
								 
						
							
								c36c9bdb5d 
								
							 
						 
						
							
							
								
								add a marker at the end of the instruction enum list  
							
							... 
							
							
							
							llvm-svn: 23090 
							
						 
						
							2005-08-26 20:17:00 +00:00  
				
					
						
							
							
								 
						
							
								96d0234845 
								
							 
						 
						
							
							
								
								Emit this:  
							
							... 
							
							
							
							static const TargetOperandInfo OperandInfo6[] = { { &PPC32::CRRCRegClass }, { 0 }, };
instead of this:
static const TargetOperandInfo OperandInfo6[] = { { PPC32::CRRCRegisterClass }, { 0 }, };
For operand information, which does not require dynamic (startup-time)
initialization.
llvm-svn: 22931 
							
						 
						
							2005-08-19 20:29:14 +00:00  
				
					
						
							
							
								 
						
							
								d02bd5bb05 
								
							 
						 
						
							
							
								
								Emit real operand info for instructions.  This currently works but is bad  
							
							... 
							
							
							
							in one way: the generated tables require dynamic initialization for the
register classes.  This will be fixed in a future patch.
llvm-svn: 22919 
							
						 
						
							2005-08-19 18:46:26 +00:00  
				
					
						
							
							
								 
						
							
								220d00109b 
								
							 
						 
						
							
							
								
								For now, just emit empty operand info structures.  
							
							... 
							
							
							
							llvm-svn: 22910 
							
						 
						
							2005-08-19 16:57:28 +00:00  
				
					
						
							
							
								 
						
							
								511ee687e5 
								
							 
						 
						
							
							
								
								now that all of the targets are clean w.r.t. the number of operands for each  
							
							... 
							
							
							
							instruction defined, actually emit this to the InstrInfoDescriptor, which
allows an assert in the machineinstrbuilder to do some checking for us,
and is required by the dag->dag emitter
llvm-svn: 22895 
							
						 
						
							2005-08-19 00:59:49 +00:00  
				
					
						
							
							
								 
						
							
								b015303c5e 
								
							 
						 
						
							
							
								
								revert this change, which causes breakage, temporarily  
							
							... 
							
							
							
							llvm-svn: 22880 
							
						 
						
							2005-08-18 22:12:31 +00:00  
				
					
						
							
							
								 
						
							
								99df668f48 
								
							 
						 
						
							
							
								
								When emitting implicit use/def lists, only emit each unique list once.  Though  
							
							... 
							
							
							
							LLVM is able to merge identical static const globals, GCC isn't, and this caused
some bloat in the generated data.  This has a marginal effect on PPC, shrinking
the implicit sets from 10->4, but shrinks X86 from 179 to 23, a much bigger
reduction.
This should speed up the register allocator as well by reducing the dcache
footprint for this static data.
llvm-svn: 22879 
							
						 
						
							2005-08-18 21:36:47 +00:00  
				
					
						
							
							
								 
						
							
								6f52a04fc7 
								
							 
						 
						
							
							
								
								Fill in the numOperands field of the TargetInstrDescriptor struct from the  
							
							... 
							
							
							
							.td file.
llvm-svn: 22873 
							
						 
						
							2005-08-18 19:45:37 +00:00  
				
					
						
							
							
								 
						
							
								650ba8eb56 
								
							 
						 
						
							
							
								
								Remove trailing whitespace  
							
							... 
							
							
							
							llvm-svn: 21428 
							
						 
						
							2005-04-22 00:00:37 +00:00  
				
					
						
							
							
								 
						
							
								945e8655dd 
								
							 
						 
						
							
							
								
								Refactor code for numbering instructions into CodeGenTarget.  
							
							... 
							
							
							
							llvm-svn: 19758 
							
						 
						
							2005-01-22 18:58:51 +00:00  
				
					
						
							
							
								 
						
							
								733c82bfbf 
								
							 
						 
						
							
							
								
								Expose isConvertibleToThreeAddress and isCommutable bits to the code generator.  
							
							... 
							
							
							
							llvm-svn: 19243 
							
						 
						
							2005-01-02 02:29:04 +00:00  
				
					
						
							
							
								 
						
							
								996ddbc98e 
								
							 
						 
						
							
							
								
								Add support for the isLoad and isStore flags, needed by the instruction scheduler  
							
							... 
							
							
							
							llvm-svn: 16554 
							
						 
						
							2004-09-28 21:01:45 +00:00  
				
					
						
							
							
								 
						
							
								9b0dfa3c0d 
								
							 
						 
						
							
							
								
								Turn the hasDelaySlot flag into the M_DELAY_SLOT_FLAG  
							
							... 
							
							
							
							llvm-svn: 16553 
							
						 
						
							2004-09-28 18:38:01 +00:00  
				
					
						
							
							
								 
						
							
								c9d99efdd3 
								
							 
						 
						
							
							
								
								Do not #include files into the llvm namespace  
							
							... 
							
							
							
							llvm-svn: 15849 
							
						 
						
							2004-08-17 03:08:28 +00:00  
				
					
						
							
							
								 
						
							
								29d8ac77e1 
								
							 
						 
						
							
							
								
								Instructions no longer need to have names.  
							
							... 
							
							
							
							llvm-svn: 15399 
							
						 
						
							2004-08-01 08:38:17 +00:00  
				
					
						
							
							
								 
						
							
								c860ecafe1 
								
							 
						 
						
							
							
								
								Add, and start using, the CodeGenInstruction class.  This class represents  
							
							... 
							
							
							
							an instance of the Instruction tablegen class.
llvm-svn: 15385 
							
						 
						
							2004-08-01 05:04:00 +00:00  
				
					
						
							
							
								 
						
							
								fce9603387 
								
							 
						 
						
							
							
								
								Rename CodeGenWrappers.(cpp|h) -> CodeGenTarget.(cpp|h)  
							
							... 
							
							
							
							llvm-svn: 15382 
							
						 
						
							2004-08-01 04:04:35 +00:00  
				
					
						
							
							
								 
						
							
								6847866400 
								
							 
						 
						
							
							
								
								Finegrainify namespacification  
							
							... 
							
							
							
							llvm-svn: 15381 
							
						 
						
							2004-08-01 03:55:39 +00:00  
				
					
						
							
							
								 
						
							
								fd4558862c 
								
							 
						 
						
							
							
								
								Support new flag  
							
							... 
							
							
							
							llvm-svn: 15355 
							
						 
						
							2004-07-31 02:07:26 +00:00  
				
					
						
							
							
								 
						
							
								960707c335 
								
							 
						 
						
							
							
								
								Put all LLVM code into the llvm namespace, as per bug 109.  
							
							... 
							
							
							
							llvm-svn: 9903 
							
						 
						
							2003-11-11 22:41:34 +00:00  
				
					
						
							
							
								 
						
							
								d3032037f1 
								
							 
						 
						
							
							
								
								Added LLVM copyright header.  
							
							... 
							
							
							
							llvm-svn: 9305 
							
						 
						
							2003-10-20 20:20:30 +00:00  
				
					
						
							
							
								 
						
							
								5f1f337d95 
								
							 
						 
						
							
							
								
								Change MRegisterDesc::AliasSet, TargetInstrDescriptor::ImplicitDefs  
							
							... 
							
							
							
							and TargetInstrDescriptor::ImplicitUses to always point to a null
terminated array and never be null. So there is no need to check for
pointer validity when iterating over those sets. Code that looked
like:
if (const unsigned* AS = TID.ImplicitDefs) {
  for (int i = 0; AS[i]; ++i) {
    // use AS[i]
  }
}
was changed to:
for (const unsigned* AS = TID.ImplicitDefs; *AS; ++AS) {
  // use *AS
}
llvm-svn: 8960 
							
						 
						
							2003-10-08 05:20:08 +00:00  
				
					
						
							
							
								 
						
							
								f5bd1b7a8e 
								
							 
						 
						
							
							
								
								Move support/tools/* back into utils  
							
							... 
							
							
							
							llvm-svn: 8875 
							
						 
						
							2003-10-05 19:27:59 +00:00