Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								33332bce17 
								
							 
						 
						
							
							
								
								Const-ify several TargetInstrInfo methods.  
							
							 
							
							... 
							
							
							
							llvm-svn: 57622 
							
						 
						
							2008-10-16 01:49:15 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								0d1e9a8e04 
								
							 
						 
						
							
							
								
								Switch the MachineOperand accessors back to the short names like  
							
							 
							
							... 
							
							
							
							isReg, etc., from isRegister, etc.
llvm-svn: 57006 
							
						 
						
							2008-10-03 15:45:36 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								27fb3dcbc7 
								
							 
						 
						
							
							
								
								Make TargetInstrInfo::copyRegToReg return a bool indicating whether the copy requested  
							
							 
							
							... 
							
							
							
							was inserted or not.  This allows bitcast in fast isel to properly handle the case
where an appropriate reg-to-reg copy is not available.
llvm-svn: 55375 
							
						 
						
							2008-08-26 18:03:31 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								4f6bf04616 
								
							 
						 
						
							
							
								
								Convert uses of std::vector in TargetInstrInfo to SmallVector.  This change had to be propoagated down into all the targets and up into all clients of this API.  
							
							 
							
							... 
							
							
							
							llvm-svn: 54802 
							
						 
						
							2008-08-14 22:49:33 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								3b46030375 
								
							 
						 
						
							
							
								
								Pool-allocation for MachineInstrs, MachineBasicBlocks, and  
							
							 
							
							... 
							
							
							
							MachineMemOperands. The pools are owned by MachineFunctions.
This drastically reduces the number of calls to malloc/free made
during the "Emit" phase of scheduling, as well as later phases
in CodeGen. Combined with other changes, this speeds up the
"instruction selection" phase of CodeGen by 10% in some cases.
llvm-svn: 53212 
							
						 
						
							2008-07-07 23:14:23 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								7d98a48f15 
								
							 
						 
						
							
							
								
								- Remove calls to copyKillDeadInfo which is an N^2 function. Instead, propagate kill / dead markers as new instructions are constructed in foldMemoryOperand, convertToThressAddress, etc.  
							
							 
							
							... 
							
							
							
							- Also remove LiveVariables::instructionChanged, etc. Replace all calls with cheaper calls which update VarInfo kill list.
llvm-svn: 53097 
							
						 
						
							2008-07-03 09:09:37 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0f760dfe09 
								
							 
						 
						
							
							
								
								Fix "Control reaches the end of non-void function" warnings,  
							
							 
							
							... 
							
							
							
							patch by David Chisnall.
llvm-svn: 48963 
							
						 
						
							2008-03-30 18:22:13 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								3b3286d4bc 
								
							 
						 
						
							
							
								
								It's not always safe to fold movsd into xorpd, etc. Check the alignment of the load address first to make sure it's 16 byte aligned.  
							
							 
							
							... 
							
							
							
							llvm-svn: 46893 
							
						 
						
							2008-02-08 21:20:40 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f0f438a517 
								
							 
						 
						
							
							
								
								remove MachineOpCode typedef.  
							
							 
							
							... 
							
							
							
							llvm-svn: 45679 
							
						 
						
							2008-01-07 02:48:55 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								2a3be7bb6c 
								
							 
						 
						
							
							
								
								Move even more functionality from MRegisterInfo into TargetInstrInfo.  
							
							 
							
							... 
							
							
							
							Some day I'll get it all moved over...
llvm-svn: 45672 
							
						 
						
							2008-01-07 01:35:02 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								eee14601b1 
								
							 
						 
						
							
							
								
								Move some more instruction creation methods from RegisterInfo into InstrInfo.  
							
							 
							
							... 
							
							
							
							llvm-svn: 45484 
							
						 
						
							2008-01-01 21:11:32 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								25568e4cef 
								
							 
						 
						
							
							
								
								Fix a problem where lib/Target/TargetInstrInfo.h would include and use  
							
							 
							
							... 
							
							
							
							a header file from libcodegen.  This violates a layering order: codegen
depends on target, not the other way around.  The fix to this is to 
split TII into two classes, TII and TargetInstrInfoImpl, which defines
stuff that depends on libcodegen.  It is defined in libcodegen, where 
the base is not.
llvm-svn: 45475 
							
						 
						
							2008-01-01 01:03:04 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								7a73ae9a86 
								
							 
						 
						
							
							
								
								Move copyRegToReg from MRegisterInfo to TargetInstrInfo.  This is part of the  
							
							 
							
							... 
							
							
							
							Machine-level API cleanup instigated by Chris.
llvm-svn: 45470 
							
						 
						
							2007-12-31 06:32:00 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a5bb370aa4 
								
							 
						 
						
							
							
								
								Add new shorter predicates for testing machine operands for various types:  
							
							 
							
							... 
							
							
							
							e.g. MO.isMBB() instead of MO.isMachineBasicBlock().  I don't plan on 
switching everything over, so new clients should just start using the 
shorter names.
Remove old long accessors, switching everything over to use the short
accessor: getMachineBasicBlock() -> getMBB(), 
getConstantPoolIndex() -> getIndex(), setMachineBasicBlock -> setMBB(), etc.
llvm-svn: 45464 
							
						 
						
							2007-12-30 23:10:15 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f3ebc3f3d2 
								
							 
						 
						
							
							
								
								Remove attribution from file headers, per discussion on llvmdev.  
							
							 
							
							... 
							
							
							
							llvm-svn: 45418 
							
						 
						
							2007-12-29 20:36:04 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								e2f23a3abf 
								
							 
						 
						
							
							
								
								Add lengthof and endof templates that hide a lot of sizeof computations.  
							
							 
							
							... 
							
							
							
							Patch by Sterling Stein!
llvm-svn: 41758 
							
						 
						
							2007-09-07 04:06:50 +00:00  
						
					 
				
					
						
							
							
								 
								Dale Johannesen
							
						 
						
							 
							
							
							
							
								
							
							
								c68554683d 
								
							 
						 
						
							
							
								
								Handle blocks with 2 unconditional branches in AnalyzeBranch.  
							
							 
							
							... 
							
							
							
							llvm-svn: 37571 
							
						 
						
							2007-06-13 17:59:52 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								5514bbef46 
								
							 
						 
						
							
							
								
								Add a utility routine to check for unpredicated terminator instruction.  
							
							 
							
							... 
							
							
							
							llvm-svn: 37528 
							
						 
						
							2007-06-08 21:59:56 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								fc94eb66d2 
								
							 
						 
						
							
							
								
								BlockHasNoFallThrough() now returns true if block ends with a return instruction.  
							
							 
							
							... 
							
							
							
							llvm-svn: 37266 
							
						 
						
							2007-05-21 18:44:17 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								99be49dd9b 
								
							 
						 
						
							
							
								
								RemoveBranch() and InsertBranch() now returns number of instructions deleted / inserted.  
							
							 
							
							... 
							
							
							
							llvm-svn: 37192 
							
						 
						
							2007-05-18 00:05:48 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								8cd224e81c 
								
							 
						 
						
							
							
								
								Relex assertions to account for additional implicit def / use operands.  
							
							 
							
							... 
							
							
							
							llvm-svn: 36430 
							
						 
						
							2007-04-25 07:12:14 +00:00  
						
					 
				
					
						
							
							
								 
								Bill Wendling
							
						 
						
							 
							
							
							
							
								
							
							
								9bfb1e1f29 
								
							 
						 
						
							
							
								
								What should be the last unnecessary <iostream>s in the library.  
							
							 
							
							... 
							
							
							
							llvm-svn: 32333 
							
						 
						
							2006-12-07 22:21:48 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								20350c4025 
								
							 
						 
						
							
							
								
								Change MachineInstr ctor's to take a TargetInstrDescriptor reference instead  
							
							 
							
							... 
							
							
							
							of opcode and number of operands.
llvm-svn: 31947 
							
						 
						
							2006-11-27 23:37:22 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								dbd3d294e6 
								
							 
						 
						
							
							
								
								Matches MachineInstr changes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 31712 
							
						 
						
							2006-11-13 23:36:35 +00:00  
						
					 
				
					
						
							
							
								 
								Andrew Lenharth
							
						 
						
							 
							
							
							
							
								
							
							
								dfbf91e59d 
								
							 
						 
						
							
							
								
								more shotenning  
							
							 
							
							... 
							
							
							
							llvm-svn: 31331 
							
						 
						
							2006-10-31 23:46:56 +00:00  
						
					 
				
					
						
							
							
								 
								Andrew Lenharth
							
						 
						
							 
							
							
							
							
								
							
							
								692e4155aa 
								
							 
						 
						
							
							
								
								Add all that branch mangling niftiness  
							
							 
							
							... 
							
							
							
							llvm-svn: 31313 
							
						 
						
							2006-10-31 16:49:55 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								ed32883b27 
								
							 
						 
						
							
							
								
								fix warning about missing newline at end of file  
							
							 
							
							... 
							
							
							
							llvm-svn: 31162 
							
						 
						
							2006-10-24 17:07:11 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								042d56230e 
								
							 
						 
						
							
							
								
								implement uncond branch insertion so alpha works work branchfolding.  
							
							 
							
							... 
							
							
							
							llvm-svn: 31158 
							
						 
						
							2006-10-24 16:41:36 +00:00  
						
					 
				
					
						
							
							
								 
								Andrew Lenharth
							
						 
						
							 
							
							
							
							
								
							
							
								43e569c95f 
								
							 
						 
						
							
							
								
								these are copies too  
							
							 
							
							... 
							
							
							
							llvm-svn: 26653 
							
						 
						
							2006-03-09 18:18:51 +00:00  
						
					 
				
					
						
							
							
								 
								Andrew Lenharth
							
						 
						
							 
							
							
							
							
								
							
							
								1318240fd0 
								
							 
						 
						
							
							
								
								isStoreToStackSlot  
							
							 
							
							... 
							
							
							
							llvm-svn: 25925 
							
						 
						
							2006-02-03 03:07:37 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								bb53acd03c 
								
							 
						 
						
							
							
								
								Move isLoadFrom/StoreToStackSlot from MRegisterInfo to TargetInstrInfo,a far more logical place.  Other methods should also be moved if anyoneis interested. :)  
							
							 
							
							... 
							
							
							
							llvm-svn: 25913 
							
						 
						
							2006-02-02 20:12:32 +00:00  
						
					 
				
					
						
							
							
								 
								Andrew Lenharth
							
						 
						
							 
							
							
							
							
								
							
							
								97a7fcfd2b 
								
							 
						 
						
							
							
								
								whatever.  Intermediate patch to see what breaks.  Seems ok.  
							
							 
							
							... 
							
							
							
							llvm-svn: 24260 
							
						 
						
							2005-11-09 19:17:08 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								89b8c8d215 
								
							 
						 
						
							
							
								
								Remove trailing whitespace  
							
							 
							
							... 
							
							
							
							llvm-svn: 21424 
							
						 
						
							2005-04-21 23:13:11 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								ffe9968b5a 
								
							 
						 
						
							
							
								
								Make the rest of file header comments consistent in format and style  
							
							 
							
							... 
							
							
							
							llvm-svn: 20048 
							
						 
						
							2005-02-05 02:24:26 +00:00  
						
					 
				
					
						
							
							
								 
								Andrew Lenharth
							
						 
						
							 
							
							
							
							
								
							
							
								5ae5f81720 
								
							 
						 
						
							
							
								
								initial fp support  
							
							 
							
							... 
							
							
							
							llvm-svn: 19847 
							
						 
						
							2005-01-26 21:54:09 +00:00  
						
					 
				
					
						
							
							
								 
								Andrew Lenharth
							
						 
						
							 
							
							
							
							
								
							
							
								2f0f845534 
								
							 
						 
						
							
							
								
								Clean ups, and taught the instruction selector about immediate forms  
							
							 
							
							... 
							
							
							
							llvm-svn: 19816 
							
						 
						
							2005-01-24 19:44:07 +00:00  
						
					 
				
					
						
							
							
								 
								Andrew Lenharth
							
						 
						
							 
							
							
							
							
								
							
							
								a1b5ca2b9d 
								
							 
						 
						
							
							
								
								Let me introduce you to the early stages of the llvm backend for the alpha processor  
							
							 
							
							... 
							
							
							
							llvm-svn: 19764 
							
						 
						
							2005-01-22 23:41:55 +00:00